為什麼會有epoll這個技術的產生呢?
select 和poll 函式,這兩系統函式每次呼叫都需要我們
提供給它所要需要偵聽的socket檔案描述符集合
select 和poll 函式的返回值是個int整型值,只能代表有
幾個socket就緒或者是有錯誤了
它沒辦法表示出是哪個 具體是哪幾個socket就緒了
這就導致我們程式被喚醒之後,它還需要新一輪系統呼叫去檢查哪個
socket是就緒狀態的 ,然後再進行socket資料處理邏輯
epoll為什麼快
epoll是linux下的一種i o多路復用的操作方式,是event poll的意思 i o多路復用,舉個栗子,在酒吧,乙個服務員,10個顧客在喝酒,服務員有這麼幾種服務方式 服務員從第乙個顧客開始問,你要酒嗎,再問第二個,你要酒嗎,依次問下去,問完一圈,再從頭開始,服務員就是不停的在bbb,要酒嗎...
為什麼需要epoll
首先我們來定義流的概念,乙個流可以是檔案,socket,pipe等等可以進行i o操作的核心物件。不管是檔案,還是套接字,還是管道,我們都可以把他們看作流。之後我們來討論i o的操作,通過read,我們可以從流中讀入資料 通過write,我們可以往流寫入資料。現在假定乙個情形,我們需要從流中讀資料,...
為什麼會有異常
為什麼會有異常?為了使程式更好的執行。很多教程裡都舉例 10 0 0不能作為分母 這樣會報異常。我常想,那麼為什麼不用if else來解決這件的問題。然而,真實的情況是 我們並不知道未來會發生什麼。比如說,電腦乙個資料夾路徑,本來我用的好好的,突然有一天,來了乙個人,將這個檔案剪下走了,我並不知道這...