同步非同步 阻塞非阻塞(NIO) 極簡解釋

2021-08-17 06:54:57 字數 566 閱讀 7788

廢話不說,老張愛喝茶,煮開水,有兩個水壺,普通水壺,響水壺(水開會提示)

同步就是普通水壺燒開水,要沒事兒自己過來來看開沒開;

非同步就是響水壺燒開水,水開了水壺響了通知你。

阻塞是燒開水的過程中,你不能幹其他事情(即你被阻塞住了),只能站那等水開;

非阻塞是燒開水的過程裡可以幹其他事情。比如去客廳看看電視;

同步與非同步說的是你獲得水開了的方式不同。

阻塞與非阻塞說的是你得到結果之前能不能幹其他事情。

兩組概念描述的是不同的內容。

這裡你看明白了,就會發現:

效率最高的辦法是響水壺燒水(非同步)

水燒開提示你之前可以去幹別的事兒(非阻塞)

等到水開了提示你你再去拿水

所以非同步和非阻塞常常在一起大大提高每個執行緒的效率

NIO基礎之同步 非同步 阻塞 非阻塞

這裡區分幾個概念,也是常見但是容易混淆的概念,就是標題中的同步 非同步 阻塞 非阻塞。同步與非同步,關心的是訊息通訊的機制。也就是呼叫者和被呼叫者之間,訊息是如何進行通知的。如果是呼叫者主動等待呼叫的結果,那麼就是同步。如果是被呼叫者主動去通知呼叫者,就是非同步。從上面的描述中,我們可以看到。同步還...

NIO同步阻塞與同步非阻塞

io與nio區別 其本質就是阻塞和非阻塞的區別。阻塞概念 應用程式在獲取網路資料的時候,如果網路傳輸資料很慢,就會一直等待,直到傳輸完畢為止。非阻塞概念 應用程式直接可以獲取已經準備就緒好的資料,無需等待。io為同步阻塞形式,nio為同步非阻塞形式,nio並沒有實現非同步,在jdk1.7公升級nio...

阻塞,非阻塞,非同步,同步

之前一直對這個概念理不太清楚,今天看到一篇文章感覺不錯 本文 老張愛喝茶,廢話不說,煮開水。出場人物 老張,水壺兩把 普通 水壺,簡稱水壺 會響的水壺,簡稱響水壺 1 老張把水壺放到火上,立等水開。同步阻塞 老張覺得自己有點傻 2 老張把水壺放到火上,去客廳看電視,時不時去廚房看看水開沒有。同步非阻...