什麼是IO(二) IO模型

2021-07-10 21:06:49 字數 751 閱讀 6064

這部分的東西在網路程式設計經常能看到,不過在所有io處理中都是類似的。

io請求的兩個階段

使用資源階段:真正進行資料接收和發生。

舉例說就是排隊服務。

等待資源階段,io分為阻塞io和非阻塞io。

阻塞io:資源不可用時,io請求一直阻塞,直到反饋結果(有資源或超時)。

非阻塞io:資源不可用時,io請求離開返回,返回資料標識資源不可用

使用資源階段,io分為同步io和非同步io。

同步io:應用阻塞在傳送或接收資料的狀態,直到資料成功傳輸或返回失敗。

非同步io:應用傳送或接收資料後立刻返回,資料寫入os快取,由os完成資料傳送或接收,並返回成功或失敗的資訊給應用。

按照unix的5個io模型劃分

從效能上看,非同步io的效能無疑是最好的。

各種io的特點

說說IO(二) IO模型

這部分的東西在網路程式設計經常能看到,不過在所有 io 處理中都是類似的。io 請求的兩個階段 等待資源階段 io 請求一般需要請求特殊的資源 如磁碟 ram 檔案 當資源被上乙個使用者使用沒有被釋放時,io 請求就會被阻塞,直到能夠使用這個資源。使用資源階段 真正進行資料接收和發生。舉例說就是排隊...

說說IO(二) IO模型

這部分的東西在網路程式設計經常能看到,不過在所有io處理中都是類似的。io請求的兩個階段 使用資源階段 真正進行資料接收和發生。舉例說就是排隊和服務。在等待資料階段,io分為阻塞io和非阻塞io。阻塞io 資源不可用時,io請求一直阻塞,直到反饋結果 有資料或超時 非阻塞io 資源不可用時,io請求...

說說IO(二) IO模型

這部分的東西在網路程式設計經常能看到,不過在所有io處理中都是類似的。io請求的兩個階段 等待資源階段 io請求一般需要請求特殊的資源 如磁碟 ram 檔案 當資源被上乙個使用者使用沒有被釋放時,io請求就會被阻塞,直到能夠使用這個資源。使用資源階段 真正進行資料接收和發生。舉例說就是排隊和服務。在...