小明去銀行取錢了(同步異步、阻塞與非阻塞)

參考博客


nodejs裏面採用了異步機制。下面對比說明同步異步機制、阻塞與非阻塞機制的區別。


好了,小明去銀行取錢了。


同步:發出一個功能調用,沒有得到結果時,該調用不會返回。

           在ATM前排隊取款。


異步:調用發出後,處理這個調用的部件通過狀態、通知來通知調用者,或者通過回調函數來處理這個調用。

   在銀行取號,然後到自己時,大堂經理通知自己去前臺取款。


阻塞:調用函數返回結果之前,當前進程會被掛起。

   取款時不幹其他事情。


非阻塞:不能得到結果,也會立即返回,而不會去阻塞當前進程。

   取款時可以給客戶打電話等等。

 

同步阻塞:排隊取款,並不幹其他事情。效率最低。

同步非阻塞:排隊取款,不時打電話。進程需要不斷切換,效率低下。

異步阻塞:排號取款,不幹其他事情。

異步非阻塞:牌號取款,不時打電話。效率最高。



發佈了36 篇原創文章 · 獲贊 1 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章