現在位置: 首頁 > IO多路復用
2015年03月14日 應用開發 ⁄ 共 8294字 評論 2 條
1、基本知識 epoll是在2.6內核中提出的,是之前的select和poll的增強版本。相對于select和poll來說,epoll更加靈活,沒有描述符限制。epoll使用一個文件描述符管理多個描述符,將用戶關系的文件描述符的事件存放到內核的一個事件表中,這樣在用戶空間和內核空間的copy只需一次。 2、epoll接口 epoll操作過程需要三個接口,分別如下: #include <sys/epoll.h> int epoll_create(int size); int epoll_ctl(int epfd, ...
閱讀全文
2015年03月13日 應用開發 ⁄ 共 5553字 IO多路復用之poll總結已關閉評論
1、基本知識 poll的機制與select類似,與select在本質上沒有多大差別,管理多個描述符也是進行輪詢,根據描述符的狀態進行處理,但是poll沒有最大文件描述符數量的限制。poll和select同樣存在一個缺點就是,包含大量文件描述符的數組被整體復制于用戶態和內核的地址空間之間,而不論這些文件描述符是否就緒,它的開銷隨著文件描述符數量的增加而線性增大。 2、poll函數 函數格式如下所示: # include <poll.h> int p...
閱讀全文
2015年03月12日 應用開發 ⁄ 共 5691字 評論 1 條
阻塞式I/O編程有兩個特點: 一、如果一個發現I\O有輸入,讀取的過程中,另外一個也有了輸入,這時候不會產生任何反應,也就是需要你的程序語句去select的時候才知道有數據輸入。 二、程序去select的時候,如果沒有數據輸入,程序會一直等待,直到有數據位置,也就是程序中無需循環和sleep。 1、基本概念 IO多路復用是指內核一旦發現進程指定的一個或者多個IO條件準備讀取,它就通知該進程。IO多路復用適用如下場合: (1)當客...
閱讀全文
二八杠讨论心得
×