IO中同步 非同步與阻塞 非阻塞的區別

2022-09-05 08:18:10 字數 530 閱讀 4802

一、同步與非同步

同步非同步關注的點在於訊息通訊的機制。

舉例:同步:我去書店買書,老闆說等一等他需要去找書,而我在這裡等,那麼我整個買書的流程就屬於同步行為。

非同步:我去書店跟老闆說我要買書,我要什麼書,老闆去找,找到了書打**給我,而我在老闆找書的過程中去做其他事情,而不是在書店等待,那麼我整個買書的流程就是非同步、

同步非同步關注的是我採用什麼樣的方式買書,關注的是方式。

二、阻塞與非阻塞

阻塞與非阻塞關注的是程式在等待結果的時候本身的狀態。

舉例:阻塞:我去書店買書,老闆說他要找下,我在書店裡等,阻塞非阻塞關注的就是在老闆去找書的過程中我在等待,也就是此時我的狀態是在等待狀態。

非阻塞:我去書店買書,老闆說他找下,我說找完通知我下,然後我去幹別的事了,沒有在等老闆找書,也就是說我本人沒有在等待老闆找書。

所以阻塞非阻塞關注的是呼叫者(例子中的我)在等待結果的時候自身的狀態。

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

參考文章 好文推薦 唉最近真是高產似母豬,剛進新公司工作量暫時不飽和,只能每天學學學學學學查漏補缺啦,學習使我快樂哈哈哈哈哈哈哈哈 標題裡的詞彙相信都經常看到,但是能說清楚的估計20個人裡面能有1個就不錯了,網上的資料也是五花八門,大部分描述差不多,很多時候估計作者本身也是似懂非懂,我也看了很多文章...

同步 非同步 阻塞 非阻塞 I O

一 同步 非同步 首先要是多個事物,只有乙個事物,是不存在同步或非同步的。同步 指協同步調。即,多個事物不能同時進行,必須乙個乙個的來,上乙個事物結束後,下乙個事物才開始。那當乙個事物正在進行時,其他事物在幹嘛呢?嚴格來講並沒有要求,但一般都處於 等待 狀態,因為後面事物的正常進行都需要依賴前面事物...

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

同步io操作 導致請求程序阻塞,知道io操作完成。非同步io操作 不導致程序阻塞。在處理 網路 io 的時候,阻塞和非阻塞都是同步io,阻塞,就是呼叫我 函式 我 函式 沒有接收完資料或者沒有得到結果之前,我不會返回。非阻塞,就是呼叫我 函式 我 函式 立即返回,通過select通知呼叫者 阻塞與非...