poll,epoll多路複用

關於select:https://blog.csdn.net/Dian0dian0/article/details/88829531

poll函數的原型說明如下:

#include  <poll.h>

struct  pollfd

{

int fd;  //文件描述符

short   events;   //等待的事件

short   revents  // 實際發生了的事件

};//誰需要監視它的什麼事件,實際發生了什麼事件。

  成員 解析
成員一 int fd;

被監視文件的描述符,指示poll()監視多個文件描述符

監視該文件描述符的事件掩碼,由用戶來設置這個域

文件描述符的操作結果事件掩碼,內核在調用返回時設置這個域,events 域中請求的任何時間都可能在revents域中返回

成員二 short   events; 需要監視的事件、
成員三 short   revents 實際發生的事件
事件【】


 

 

int poll (struct   pollfd  *fds, nfds_t   nfds,  int timeout);

  參數 解析
參數一 struct   pollfd  *fds 用來指向一個struct pollfd類型的數組,每一個pollfd結構體指定了一個被監視的文件描述符,指示poll()監視多個文件描述符,每個結構體的events域是監控該文件描述符的時間掩碼,由用戶來設置這個域。revents 域文件描述符的操作結果時間掩碼,內核在調用返回時設置這個域,events域中的請求的任何時間都可能在reevents域中返回,
參數二 nfds_t   nfds  
參數三 int timeout  

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章