同步和异步的区别

 
同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。  
异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。  
 
CSDN上有讨论过:  
http://expert.csdn.net/Expert/topic/2646/2646592.xml?temp=.3842584  
http://expert.csdn.net/Expert/topic/2659/2659726.xml?temp=.1480219  
---------------------------------------------------------------  
 
举个不太恰当的例子,就像:  
SendMessage(...)  
TRACE0("just  like  send");  
 
PostMessage(...)  
TRACE0("just  like  WSASend  using  overlapped");  
 
SendMessage是调用的时候不返回,等消息响应后才执行TRACE0,这就是同步.  
PostMessage是调用后马上返回,不用消息响应就执行TRACE0,这就是异步.

 举个例子:普通B/S模式(同步)AJAX技术(异步)
同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事
异步: 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕
--------------------------------------------------------------------------------------------------------------------
同步就是你叫我去吃饭,我听到了就和你去吃饭;如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭。
异步就是你叫我,然后自己去吃饭,我得到消息后可能立即走,也可能等到下班才去吃饭。

所以,要我请你吃饭就用同步的方法,要请我吃饭就用异步的方法,这样你可以省钱。
--------------------------------------------------------------------------------------------------------------------
举个例子 打电话时同步 发消息是异步

原文地址:https://www.cnblogs.com/yingzi/p/2366523.html