關於IO的同步,非同步,阻塞,非阻塞

2021-06-13 17:03:01 字數 443 閱讀 9454

上次寫了一篇文章:unix io 模型學習。恰巧在這次週會的時候,@fp1203 (goldendoc成員之一) 正好在講解poll和epoll的底層實現。中途正好討論了網路io的同步、非同步、阻塞、非阻塞的概念,當時講下來,大家的理解各不相同,各執己見。搜尋了網路上的一些文章,觀點也各不相同,甚至連wiki也將非同步和非阻塞當成乙個概念在解釋。

雖然網路上充斥了大量關於同步、非同步、阻塞、非阻塞的文章,但大都是抄來抄去,沒有乙個權威的說法。但我找到了這一篇文章,該文章引用了《unix網路程式設計 卷1》的介紹,這本書的作者是richard stevens。如果有richard stevens在這方面的定義或者結論,那麼我想,這應該是比較有說服力的了。

我看了6.2這節內容,這節內容就是講io模型的。剛剛提到的那篇文章,幾乎就是翻譯這個6.2節的。應該說,這個6.2節,對同步和非同步的講解,算是很清楚的。

下面是我自己理解的重點。

關於IO的同步,非同步,阻塞,非阻塞

上次寫了一篇文章 unix io 模型學習。恰巧在這次週會的時候,fp1203 goldendoc成員之一 正好在講解poll和epoll的底層實現。中途正好討論了網路io的同步 非同步 阻塞 非阻塞的概念,當時講下來,大家的理解各不相同,各執己見。搜尋了網路上的一些文章,觀點也各不相同,甚至連 w...

關於IO的同步,非同步,阻塞,非阻塞

關於網路io的同步 非同步 阻塞 非阻塞的文章網上有很多,搜尋了對比了一下,觀點也各不相同,即使是wiki也把非同步和非阻塞區分得不是很清楚。下面我就結合 unix網路程式設計 卷1 中的介紹,來說一說自己的理解。io模型 首先我們要先知道目前unix存在的五種io模型,分別是 io的兩個階段 1....

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

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