淺談同步,異步,阻塞,非阻塞

這些概念常常令人感到困惑,試着寫出自己的理解。

雖然我們常常聽到同步阻塞,異步非阻塞這樣配合使用的詞彙,但是它其實是兩個不同的東西,類似吃飯睡覺打豆豆,吃飯,睡覺,打豆豆分別是獨立的事件。

因爲這些概念的通用性,在cpu層面使用和應用層層面都可以使用,爲了簡單的理清概念,我暫且只用應用層作爲陳述的對象

同步與異步

舉個例子:a和b聊天,a問b:你叫什麼? b這個人比較遲鈍,沒有及時回答,a就一直等着b的回答,一分鐘後b說,我叫小明。

期間,a什麼也沒有做,只是等待b的消息回覆。在這次的對話場景中,沒有人幹別的事情.
這種方式就是同步。

a和b繼續聊天,a問b:你多大了? b沒有及時回答,a就覺得這樣很無聊,轉過去跟c聊了幾句,一分鐘後b拍拍a的肩膀說,我今年8歲。

期間,a也去跟c說話,並沒有一直等待b。
這種方式就是異步。

阻塞與非阻塞

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章