通信原理中的同步/异步通信与Ajax中同步/异步执行概念区别对比

通信原理(百度)

同步通信:要求发收双方具有同频同相的同步时钟信号,只需在传送报文的最前面附加特定的同步字符,使发收双方建立同步,此后便在同步时钟的控制下逐位发送/接收。

异步通信:异步通信在发送字符时,所发送的字符之间的时隙可以是任意的,当然,接收端必须时刻做好接收的准备(如果接收端主机的电源都没有加上,那么发送端发送字符就没有意义,因为接收端根本无法接收)。发送端可以在任意时刻开始发送字符,因此必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,以便使接收端能够正确地将每一个字符接收下来。内部处理器在完成了相应的操作后,通过一个回调的机制,以便通知发送端发送的字符已经得到了回复。


Ajax

Ajax技术的独到之处是它在服务器端使用了异步(asynchronous)处理技术。

同步执行(Synchronous Execution):一次只能执行一条指令,只有当前指令执行完才能去执行另一条指令。

异步执行(Asynchronous Execution):一次可以执行多条指令。

通信原理中的同步/异步通信与Ajax中同步/异步执行概念区别对比_第1张图片


同步通信,就是送快递的面对面给交你,交互完成即完在,但双方都需要在同一时间内反应,否则会造成另一方阻塞等待。

异步通信,就是送快递的放在门卫或快递箱,你自己去取,中间不是同步完成的。

在网络上看到以上对同步异步通信的解释,因此对两个概念产生混肴,甚至觉得两者对于同步异步的定义是完全相反的,以致产生疑惑。


表面上看通信中的同步在同一时间段完成,而异步则不是;执行中的同步是一种顺序性行为,而异步则可以在同一时间段执行多条指令。

但从主体来看,通信是涉及通信双方的行为,而执行不涉及双方,只有单线程多线程之分,对于两者的理解还需从这个角度加以区分。

你可能感兴趣的:(前端,ajax,同步,数字通信,javascript,web)