同步非同步是否阻塞

2021-10-05 15:25:29 字數 618 閱讀 2226

自己的一點關於同步非同步與阻塞非阻塞的理解

同步非同步關注於,呼叫是否立刻會有乙個返回。而阻塞與非阻塞關注於呼叫發起後,原程式是否掛起。

一般而言,同步阻塞和非同步非阻塞運用的多一些。

同步阻塞,p1先執行,然後呼叫p2,p2執行完返回,一般的函式呼叫都是這個過程。

同步非阻塞,p1先執行,然後呼叫p2,然是呼叫的同時,自身不掛起,而是不斷的隔一定時間,對p2發起詢問,你是否執行完,也就是這裡的紅色箭頭。

非同步阻塞,p1先執行,然後呼叫p2,p2立刻返回,p2立刻返回乙個值,但是p2繼續執行,p1自身掛起,等待p2執行完成後的訊息通知,也就是藍色剪頭。

非同步非阻塞,p1先執行,然後呼叫p2,p2立刻返回乙個值,但是p1,p2並行執行,其中p1接著幹自己的事情,等待p2執行完成後的訊息通知。

可以發現,非阻塞引入了並行的特性

非同步阻塞,增加了開銷,但並沒有引入新功能,還不如同步阻塞。

同步非阻塞,增加了開銷,但並沒有引入新功能,還不如非同步非阻塞。

因此阻塞一般也就是同步的,非阻塞一般也就是非同步的。

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

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

同步 非同步 阻塞 非阻塞

故事 老王燒開水。出場人物 老張,水壺兩把 普通水壺,簡稱水壺 會響的水壺,簡稱響水壺 老王想了想,有好幾種等待方式 1.老王用水壺煮水,並且站在那裡,不管水開沒開,每隔一定時間看看水開了沒。同步阻塞 老王想了想,這種方法不夠聰明。2.老王還是用水壺煮水,不再傻傻的站在那裡看水開,跑去寢室上網,但是...

同步 非同步 阻塞 非阻塞

故事 老王燒開水。出場人物 老張,水壺兩把 普通水壺,簡稱水壺 會響的水壺,簡稱響水壺 老王想了想,有好幾種等待方式 1.老王用水壺煮水,並且站在那裡,不管水開沒開,每隔一定時間看看水開了沒。同步阻塞 老王想了想,這種方法不夠聰明。2.老王還是用水壺煮水,不再傻傻的站在那裡看水開,跑去寢室上網,但是...