异步
术语“异步”指的是两个或多个对象或事件不在同一时间存在或发生,即它们**不是**同步的。当多个相关的事情发生时,没有任何一个依赖于先前事情的完成,它们就是异步的。
在计算中,“异步”一词主要用于两种情况下,如下所述。
在网络和通信中
异步通信是一种交换消息的方法,其中每条消息的发送、接收和处理都不依赖于其他消息的发送、接收或处理。在异步通信中,各方在方便或可能时接收和处理消息,而不是在收到消息后立即处理。此外,可以发送消息而不等待确认,因为如果发生问题,接收方将请求更正或以其他方式处理情况。
电子邮件是一种异步的人际沟通方式。发送者发送电子邮件。接收者在方便时阅读电子邮件并回复(或不回复),不一定立即回复。所有各方都可以随时继续发送和接收消息。电子邮件不必按特定顺序安排。
在异步软件中,发出请求(例如,到服务器)不会在等待响应时阻塞其他进程。软件可以继续执行其他任务。例如,在基于Promise的API中,为长时间操作创建Promise
对象。操作完成后,将处理promise。使用promise,软件不必等待操作完成。
在软件设计中
异步软件设计通过构建允许程序在不停止等待任务完成的情况下,要求同时执行原始任务(或任务)旁边的任务的概念来扩展。当辅助任务完成时,原始任务将使用商定的机制收到通知,以便它知道工作已完成,并且结果(如果有)可用。
有多种编程技术可用于实现异步软件。请参阅文章异步JavaScript以了解它们。