我对同步/异步&阻塞/非阻塞概念的理解

同步与异步:指的是两种消息处理机制。
同步:发出“调用”请求后,同步(同时)接受“调用”返回值和“调用”结果。
异步:发出“调用”请求后,异步(不同时)接受“调用”返回值和“调用”结果。

做个通俗一点的比方:我问ww:“帮我算一下1+1等于几?”,ww算好后,说:“好的”,“等于2”——这是同步的方式。
另外一种情况是:我问完,ww说:“好的”,然后开始算,算好以后,说:“等于2”——这是异步的方式。

阻塞与非阻塞:指的是两种调用者在等待时的状态。
阻塞:在得到“调用”结果前,一直挂起等待。
非阻塞:在得到“调用”结果前,干其他的工作。

在上述的比方中就是:ww算1+1的时候,我除了中间时不时看他算完没有啥也不干——这是阻塞的方式。
或者,ww算的时候,我干我自己的事情——这是非阻塞的方式。

猜你喜欢

转载自blog.csdn.net/jshnaoko/article/details/80168406