小明去银行取钱了(同步异步、阻塞与非阻塞)

参考博客


nodejs里面采用了异步机制。下面对比说明同步异步机制、阻塞与非阻塞机制的区别。


好了,小明去银行取钱了。


同步:发出一个功能调用,没有得到结果时,该调用不会返回。

           在ATM前排队取款。


异步:调用发出后,处理这个调用的部件通过状态、通知来通知调用者,或者通过回调函数来处理这个调用。

   在银行取号,然后到自己时,大堂经理通知自己去前台取款。


阻塞:调用函数返回结果之前,当前进程会被挂起。

   取款时不干其他事情。


非阻塞:不能得到结果,也会立即返回,而不会去阻塞当前进程。

   取款时可以给客户打电话等等。

 

同步阻塞:排队取款,并不干其他事情。效率最低。

同步非阻塞:排队取款,不时打电话。进程需要不断切换,效率低下。

异步阻塞:排号取款,不干其他事情。

异步非阻塞:牌号取款,不时打电话。效率最高。



你可能感兴趣的:(异步,阻塞,nodejs)