I/O多路转接(select/poll/epoll)
1、I/O多路转接select
系统提供select函数实现多路复用的输入输出模型
select系统调用让程序监视多个文件描述符的状态变化,程序会暂停到select这里等待,直到被监视的文件描述符发送了状态变化
#include<sys/select.h> //头文件
int select (int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
struct timeval *timeout )
参数解释:
nfds:用来限定监视区间(最大文件描述符+1)
rdset: 检测读事件的文件描述符集合
wrset:检测写事件的文件描述符集合
exset:检测异常事件的文件描述符集合
timeout:设置select的等待时间
timeout取值