异步

异步两个或两个以上的对象或事件同时存在或发生(或多个相关事物的发生无需等待其前一事物的完成)。在计算机技术中,"异步"一词被用于两大语境。

网络与通信

异步通信是一种在双方或多方之间交换消息的方式。其中每个参与方各自在他们方便或可操作的情况下接收并处理消息,而不是在收到消息后立即进行处理。 另外,消息的发送无需等待确认信息,前提是如果出现问题,接收方将请求更正或以其他方式处理该情况。

对人类来说,电子邮件就是一种异步通信方式;发送者发送了一封邮件,接着接收者会在方便时读取和回复该邮件,而不是马上这样做。双方可以继续随时发送和接收信息,而无需双方安排何时进行操作。

在软件进行异步通信时,一个程序可能会向另一软件(如服务器)请求信息,并在等待回复的同时继续执行其他操作。例如,AJAX(Asynchronous JavaScript and XML)编程技术(现在通常简写为"Ajax",不过现在的应用不常用XML,而是用JSON)就是这样一种机制,它通过HTTP从服务器请求较少的数据,当结果可被返回时才返回结果,而不是立即返回。

软件设计

异步软件设计通过构建代码扩展了异步的概念,按照这种设计编写的代码使得程序能够要求一个任务与先前的一个(或多个)任务一起执行,而无需为了等待它们完成而停止执行。 当后来的任务完成时,程序将使用约定好的机制通知先前的任务,以便让它知道任务已经完成,以及如果有结果存在的话,这个结果是可用的。

还有许多用来实现异步软件的编程技术。查看文章Asynchronous JavaScript来了解它们吧。

了解更多

技术参考