關於網路程式設計五種IO模型的形象比喻

2021-05-25 09:08:23 字數 483 閱讀 7788

網摘錄如下比喻,實在生動貼切.....

老陳有乙個在外地工作的女兒,不能經常回來,老陳和她通過信件聯絡。他們的信會被郵遞員投遞到他們的信箱裡,這和socket模型非常類似。

select模型

老陳非常想看到女兒的信。以至於他每隔10分鐘就下樓檢查信箱,看是否有女兒的信~~~~~

在這種情況下,「下樓檢查信箱」然後回到樓上耽誤了老陳太多的時間,以至於老陳無法做其他工作。

select模型和老陳的這種情況非常相似:周而復始地去檢查......如果有資料......接收/傳送.......

wsaeventselect模型

後來,微軟的信箱非常暢銷,購買微軟信箱的人以百萬計數......以至於蓋茨每天24小時給客戶打**,累得腰痠背痛,喝***都不好使~~~~~~

微軟改進了他們的信箱:在客戶的家中新增乙個附加裝置,這個裝置會監視客戶的信箱,每當新的信件來臨,此裝置會發出「新信件到達」聲,提醒老陳去收信。蓋茨終於可以睡覺了。

五種程式設計模型(IO模型)

1 同步非同步,阻塞非阻塞區別聯絡 實際上同步與非同步是針對應用程式與核心的互動而言的。同步過程中程序觸發io操作並等待 也就是我們說的阻塞 或者輪詢的去檢視io操作 也就是我們說的非阻塞 是否完成。非同步過程中程序觸發io操作以後,直接返回,做自己的事情,io交給核心來處理,完成後核心通知程序io...

五種網路IO模型

一 概述 在網路程式設計中,阻塞 非阻塞 同步 非同步經常被提到,下面談一下i o在生活中的釣魚場景 純屬虛構,如有雷同,純屬巧合 1.阻塞式i o 開始釣魚,眼睛一直盯著,魚兒上鉤拉桿。2.非阻塞式i o 開始釣魚,你一直懷疑魚兒在偷吃魚餌,一直拉桿,沒有魚,然後重複放杆拉桿,直到有釣上魚。3.i...

Linux 五種IO模型 形象生動的例子

在學習五種io模型之前,我們先看這樣乙個例子 大家都釣過魚吧,釣魚最主要的步驟實際就兩個 1.等 2.拉桿。釣魚的時候你會發現有這樣幾種人 張三 此人比較沉悶安靜 就一直緊緊盯著魚鉤,一動不動,誰也不理,有魚就拉桿 李四 此人生性活潑好動 在等魚的時候,一會去找張三聊天,嘿,哥們,釣幾條魚了 張三不...