同步io操作:導致請求程序阻塞,知道io操作完成。
非同步io操作:不導致程序阻塞。
在處理(網路) io 的時候,阻塞和非阻塞都是同步io,
阻塞,就是呼叫我(函式),我(函式)沒有接收完資料或者沒有得到結果之前,我不會返回。
非阻塞,就是呼叫我(函式),我(函式)立即返回,通過select通知呼叫者
阻塞與非阻塞的區分在於網路io時進行io操作的執行緒會不會掛起,其實對於某些io模型來說,阻塞非阻塞其實比較難定義,比如select模型中指使用者執行緒不會阻塞於recvfrom等網路io操作上,但在select操作本身上是阻塞的,不過因為網路io並未阻塞的原因仍稱selec模型為非阻塞的模型。
同步io和非同步io的區別就在於:資料拷貝的時候程序是否阻塞
阻塞io和非阻塞io的區別就在於:應用程式的呼叫是否立即返回
IO 同步,非同步,阻塞,非阻塞
參考文章 好文推薦 唉最近真是高產似母豬,剛進新公司工作量暫時不飽和,只能每天學學學學學學查漏補缺啦,學習使我快樂哈哈哈哈哈哈哈哈 標題裡的詞彙相信都經常看到,但是能說清楚的估計20個人裡面能有1個就不錯了,網上的資料也是五花八門,大部分描述差不多,很多時候估計作者本身也是似懂非懂,我也看了很多文章...
同步 非同步 阻塞 非阻塞 I O
一 同步 非同步 首先要是多個事物,只有乙個事物,是不存在同步或非同步的。同步 指協同步調。即,多個事物不能同時進行,必須乙個乙個的來,上乙個事物結束後,下乙個事物才開始。那當乙個事物正在進行時,其他事物在幹嘛呢?嚴格來講並沒有要求,但一般都處於 等待 狀態,因為後面事物的正常進行都需要依賴前面事物...
同步IO 非同步IO 阻塞IO 非阻塞IO
同步io 非同步io 阻塞io 非阻塞io,這幾個詞常見於各種各樣的與網路相關的文章之中,往往不同上下文中它們的意思是不一樣的,以致於我在很長一段時間對此感到困惑,所以想寫一篇文章整理一下。posix 可移植作業系統介面 把同步io操作定義為導致程序阻塞直到io完成的操作,反之則是非同步io按pos...