异步方法调用 异步方法调用或异步方法模式是多线程面向对象程序设计中用于异步调用对象的潜在的长期运行方法的一种设计模式它等价于Allan Vermeulen提出的IOU模式 基于事件的异步模式是异步方法调用的一个变种开销更大但能更好的表现软件组件对象NET框架和Java中的javautilconcurrentFutureTask类中使用的基于事件的异步模式使用事件来解决同样的问题 大部分编程语言中对方法的调用是同步执行的例如在线程执行体内即线程的调用函数中方法的调用就是同步执行的如果方法需要很长的时间来完成比方说从Internet加载数据的方法调用者线程将被阻塞直到方法调用完成如果不希望调用被阻塞则可以通过创建新的worker线程并在worker线程中调用方法在大多数编程环中上这样做可能需要很长的一段代码尤其是需要小心处理线程过多的额外开销异步方法调用它通过使用一种立即返回的异步的变体并提供额外的方法来支持接受完成通知以及完成等待改进长期运行的同步方法 活动对象active object设计模式通常使用异步方法调用异步方法调用的一个替代方案是同步的方法调用和未来对象future object模式 在Web浏览器的实现上可以采用异步方法调用例如浏览器需要在Web页面中的图像加载完成之前将页面显示出来