這裡區分幾個概念,也是常見但是容易混淆的概念,就是標題中的同步、非同步、阻塞、非阻塞。
同步與非同步,關心的是訊息通訊的機制。也就是呼叫者和被呼叫者之間,訊息是如何進行通知的。如果是呼叫者主動等待呼叫的結果,那麼就是同步。如果是被呼叫者主動去通知呼叫者,就是非同步。
從上面的描述中,我們可以看到。同步還是非同步,主要是看的訊息通知的方式,乙個是呼叫者主動等待,乙個是呼叫者被通知。
同樣的,對於這樣兩個概念,我們細細思考下,並不難理解。這兩個概念都是針對於呼叫者來說的,如果呼叫者在等待呼叫結果時,不能做其他的事情,就是阻塞;否則就是非阻塞。也就是看呼叫過程中,呼叫者執行緒的狀態,呼叫執行緒被掛起,無法進行其他的操作,就是阻塞;如果不被掛起,還能繼續其他的操作,就是非阻塞。
同步非同步 阻塞非阻塞(NIO) 極簡解釋
廢話不說,老張愛喝茶,煮開水,有兩個水壺,普通水壺,響水壺 水開會提示 同步就是普通水壺燒開水,要沒事兒自己過來來看開沒開 非同步就是響水壺燒開水,水開了水壺響了通知你。阻塞是燒開水的過程中,你不能幹其他事情 即你被阻塞住了 只能站那等水開 非阻塞是燒開水的過程裡可以幹其他事情。比如去客廳看看電視 ...
NIO同步阻塞與同步非阻塞
io與nio區別 其本質就是阻塞和非阻塞的區別。阻塞概念 應用程式在獲取網路資料的時候,如果網路傳輸資料很慢,就會一直等待,直到傳輸完畢為止。非阻塞概念 應用程式直接可以獲取已經準備就緒好的資料,無需等待。io為同步阻塞形式,nio為同步非阻塞形式,nio並沒有實現非同步,在jdk1.7公升級nio...
阻塞,非阻塞,非同步,同步
之前一直對這個概念理不太清楚,今天看到一篇文章感覺不錯 本文 老張愛喝茶,廢話不說,煮開水。出場人物 老張,水壺兩把 普通 水壺,簡稱水壺 會響的水壺,簡稱響水壺 1 老張把水壺放到火上,立等水開。同步阻塞 老張覺得自己有點傻 2 老張把水壺放到火上,去客廳看電視,時不時去廚房看看水開沒有。同步非阻...