异步方法调用

✍ dations ◷ 2025-08-14 12:29:37 #执行绪,软件设计模式

异步方法调用或异步方法模式是(多线程)面向对象程序设计中用于异步调用对象的潜在的长期运行方法的一种设计模式。它等价于Allan Vermeulen提出的IOU模式。

基于事件的异步模式是异步方法调用的一个变种,开销更大但能更好的表现软件组件对象。.NET框架和Java中的java.util.concurrent.FutureTask类中使用的基于事件的异步模式使用事件来解决同样的问题。

大部分编程语言中对方法的调用是同步执行的。例如在线程执行体内,即线程的调用函数中,方法的调用就是同步执行的。如果方法需要很长的时间来完成,比方说从Internet加载数据的方法,调用者线程将被阻塞直到方法调用完成。如果不希望调用被阻塞,则可以通过创建新的worker线程并在worker线程中调用方法,在大多数编程环中上这样做可能需要很长的一段代码,尤其是需要小心处理线程过多的额外开销。异步方法调用它通过使用一种立即返回的异步的变体并提供额外的方法来支持接受完成通知以及完成等待改进长期运行的(同步)方法。

活动对象(active object)设计模式通常使用异步方法调用。异步方法调用的一个替代方案是同步的方法调用和未来对象(future object)模式。在Web浏览器的实现上可以采用异步方法调用,例如浏览器需要在Web页面中的图像加载完成之前将页面显示出来。

相关

  • 医疗卫生人体解剖学 - 人体生理学 组织学 - 胚胎学 人体寄生虫学 - 免疫学 病理学 - 病理生理学 细胞学 - 营养学 流行病学 - 药理学 - 毒理学医疗卫生,又称健康照护(英语:Health care
  • abbr class=abbr title=R51/53: 对水生生物有毒,可能对水生环境造成长期的不良影响R51/53/abb警示性质标准词(英语:Risk Phrases,简写:R-phrases)是于《欧联指导标准67/548/EEC 附录III: 有关危险物品与其储备的特殊风险性质》里定义。该列表被集中并再出版于指导标准2001/
  • 避孕隔膜避孕隔膜(diaphragm)是一种屏障式的生育控制方法。正常使用下,一年内的失败率为12%,属于成功率中等的避孕方式。使用方式是配合杀精剂使用,在性行为放在子宫颈前,且在性行为至少六
  • 1932年苏联大饥荒1932–33年的苏联大饥荒(俄语:Голод в СССР 1932—1933 годах)发生在苏联的几大产粮区,其中包括了乌克兰、北高加索、伏尔加河流域、哈萨克斯坦、南乌拉尔山脉和
  • 应天府应天府是明朝设置的府,为明代初期首都,后改留都。辖区即今南京市,及句容市、溧阳市范围。元朝时,为集庆路,属江浙行省。至正十六年(1356年、太祖丙申年),朱元璋攻占集庆路,三月改集庆
  • 前棱蜥超科前棱蜥超科(Procolophonoidea)是副爬行动物的一个演化支,属于前棱蜥形目,是群体型小、外形类似蜥蜴的爬行动物。它们生存于二叠纪晚期到三叠纪晚期,广泛分布于各大陆,包含南极洲在
  • KT (公司)KT公司(韩语:케이티 주식회사),旧名韩国电信(한국통신),是大韩民国的电信公司。以电话通信、高速网络等有线及无线通信服务业为主要业务。1981年,在韩国先以电气通信公司的名义成立
  • 小行星298小行星298是小行星带里一颗由奥古斯特·沙卢瓦在1890年9月9日于法国尼斯所发现的小行星。在2007年9月,美国科罗拉多州美国西南研究院的研究人员威廉·波特克(William Bottke)与
  • 吴堡话吴.mw-parser-output ruby.zy{text-align:justify;text-justify:none}.mw-parser-output ruby.zy>rp{user-select:none}.mw-parser-output ruby.zy>rt{font-feature-setting
  • 2006年世界杯足球赛参赛名单 (E组)以下条目列出于6月9日至7月9日举行的2006年德国世界杯决赛周已证实国家队的球员名单。在5月15日前,部分国家队公布出决赛周的临或正式的时球员名单。当中,国家队所公布的球员