五種IO模型

2021-09-25 18:01:11 字數 409 閱讀 6748

再講io模型之前,給大家舉乙個釣魚的例子。

張三去釣魚,他釣魚的時候一動不動,一直看著魚竿,看有沒有動,無論是誰叫他,他都不動,只有等魚梢動了(魚上鉤了),他才會動

李四去釣魚,他沒有像張三那樣瓷楞著,只是時不時的輪詢檢查魚竿有沒有動。一直在動。

王五也來釣魚,他就比較聰明了,在魚竿上掛個鈴鐺,只要鈴鐺響了,就代表魚上鉤了,否則他就幹自己的事,不用去檢查魚竿有沒有動,因為鈴鐺會提醒他

這時,土豪的趙六也來了,他帶了100個魚竿,叫了一群人,把魚竿放到水裡,只要魚上鉤了 ,就把它釣上來,這樣,魚上鉤的機率就會變大

田七也來釣魚了,剛打算釣的時候,突然接到**說公司有事要回去處理,然後田七就讓司機幫忙釣,最後釣到的魚還是屬於田七的。

通過上邊五個人釣魚的例子,我們依次介紹五種io模型

五種IO模型

阻塞io 在核心將資料準備好之前,系統呼叫會一直等待,所有的套接字都是預設阻塞方式 非阻塞io 如果核心還沒有將資料準備好,系統呼叫會直接返回,並返回錯誤碼 非阻塞io往往需要以迴圈的方式反覆讀寫檔案描述符,這個過程稱為輪詢,對cpu的浪費較大,一般只在特定的場景下使用 訊號驅動io 核心將資料準備...

五種IO模型

1.五種io分為阻塞i o 非阻塞i o 訊號驅動io 多路復用i o select 和 poll 非同步i o 前四個被稱為同步io。1.1乙個輸入操作一般有兩個不同的階段 2.1阻塞io 程序呼叫recvfrom,從使用者態轉到核心態,直到資料準備好且拷貝到應用程式緩衝區或者出錯 最常見的錯誤是...

五種IO模型

在網路環境下,通俗的講,將io分為兩步 1.等 2.資料搬遷。如果要想提高io效率,需要將等的時間降低。五種io模型包括 阻塞io 非阻塞io 訊號驅動io io多路轉接 非同步io。其中,前四個被稱為同步io。在介紹五種io模型時,我會舉生活中釣魚的例子,加深理解。a拿著一支魚竿在河邊釣魚,並且一...