同步非同步區別(I O)原理

2021-08-19 02:56:56 字數 619 閱讀 8204

老張愛喝茶,廢話不說,煮開水。

出場人物:老張,水壺兩把(普通水壺,簡稱水壺;會響的水壺,簡稱響水壺)。

1 老張把水壺放到火上,立等水開。(同步阻塞)

老張覺得自己有點傻

2 老張把水壺放到火上,去客廳看電視,時不時去廚房看看水開沒有。(同步非阻塞)

老張還是覺得自己有點傻,於是變高階了,買了把會響笛的那種水壺。水開之後,能大聲發出嘀~~~~的噪音。

3 老張把響水壺放到火上,立等水開。(非同步阻塞)

老張覺得這樣傻等意義不大

4 老張把響水壺放到火上,去客廳看電視,水壺響之前不再去看它了,響了再去拿壺。(非同步非阻塞)

老張覺得自己聰明了。

所謂同步非同步,只是對於水壺而言。

普通水壺,同步;響水壺,非同步。

雖然都能幹活,但響水壺可以在自己完工之後,提示老張水開了。這是普通水壺所不能及的。

同步只能讓呼叫者去輪詢自己(情況2中),造成老張效率的低下。

所謂阻塞非阻塞,僅僅對於老張而言。

立等的老張,阻塞;看電視的老張,非阻塞。

情況1和情況3中老張就是阻塞的,媳婦喊他都不知道。雖然3中響水壺是非同步的,可對於立等的老張沒有太大的意義。所以一般非同步是配合非阻塞使用的,這樣才能發揮非同步的效用。

同步IO和非同步IO

同步io和非同步io 簡單的說 同步在程式設計裡,一般是指某個io操作執行完後,才可以執行後面的操作。非同步則是,將某個操作給系統,主線程去忙別的事情,等核心完成操作後通知主線程非同步操作已經完成。i windows同步i o與非同步i o 執行後的效果如下 winxp sp2 vc6.0 4 心得...

同步IO和非同步IO

同步io和非同步io 有兩種型別的檔案io同步 同步檔案io和非同步檔案io。非同步檔案io也就是重疊io。在同步檔案io中,執行緒啟動乙個io操作然後就立即進入等待狀態,直到io操作完成後才醒來繼續執行。而 非同步檔案io方式中,執行緒傳送乙個io請求到核心,然後繼續處理其他的事情,核心完成io請...

同步IO與非同步IO

非同步檔案io也就是重疊io。在同步檔案io中,執行緒啟動乙個io操作然後就立即進入等待狀態,直到io操作完成後才醒來繼續執行。而非同步檔案io方式中,執行緒傳送乙個io請求到核心,然後繼續處理其他的事情,核心完成io請求後,將會通知執行緒io操作完成了。同步io在同一時刻只允許乙個io操作,也就是...