异步(计算机编程)

在计算机编程中,异步是指独立于主程序流发生的事件,以及处理这些事件的方法。这些可能是“外部”事件,如信号的到达,或者由程序激发的行为,这些行为与程序执行并发发生,不需要阻塞程序等待结果。异步输入/输出是异步的后一种情况的例子,它允许程序向存储设备或网络设备发出命令,在处理器继续执行程序时为这些请求提供服务。这样做提供了一种并行度


在编程接口中处理异步的一种常见方法是提供子例程,它返回代表正在进行的操作的未来或承诺,并提供同步操作来阻止直到未来或承诺完成。一些编程语言,比如 Cilk,有特殊的语法来表达异步过程调用。


异步的例子包括:

  • 异步过程调用,一个运行并发过程的方法,一个线程的轻量级替代。
  • Ajax 是一组客户端 web 技术,用于创建异步 i/o web 应用程序。
  • 异步方法分派(AMD) ,当服务器端需要处理大量长期客户端请求时使用的一种数据通信方法。使用同步方法分派(SMD) ,此场景可能会将服务器转变为不可用繁忙状态,从而导致由网络连接请求超时引起的连接故障响应。客户端请求的服务被立即从一个线程池中分派到一个可用的线程,并将客户机置于阻塞状态。任务完成后,回调通知服务器。服务器解除对客户端的阻塞并将响应传输回客户端。在线程饥饿的情况下,将阻塞客户端,等待线程变得可用。

References

= = = 参考文献 = = 类别: 计算机编程类别: 行程间通讯类别: 中间件

模板:Comp-sci-stub


This page was moved from wikipedia:en:Asynchrony (computer programming). Its edit history can be viewed at 异步(计算机编程)/edithistory