天天看點

常用的高并發網絡模型

select

--跨平台(windows ,linux都支援)

--每次都要從使用者空間拷貝到核心空間

--周遊整個fd_set,O(n)

--最大可監聽的fd數量不能超過FD_SETSIZE 

poll

--基本類似于select,無FD_SETSIZE限制

epoll

--(缺點) windows不支援

--(特點)

       -- 核心态 ,紅黑樹

       -- 共享記憶體互動mmap

       -- 不需要全部複制 , 傳回雙向連結清單

       -- LT(level triggered) 事件沒有處理,一直通知,epoll_wait

       -- ET(edge-triggered)隻通知一次,每當狀态變化時,觸發一個事件

iocp

-- Linux不支援

-- 内部實作了線程池

繼續閱讀