pollfd *fds,//pollfd数组,可以自定义大小
nfds_t nfds,//数组元素个数
int timeout //超时时间
);
IO流程:
创建pollfd数组,向其中添加关注的...fd信息,数组大小自定义
调用poll函数,将pollfd数组拷贝到内核空间,转链表存储,无上限
内核遍历fd,判断是否就绪
数据就绪或超时后,拷贝pollfd数组到用户空间,返回就绪fd数量n
用户进程判断...n是否大于0
大于0则遍历pollfd数组,找到就绪的fd
与select对比:
select模式中的fd_set大小固定为1024,而pollfd在内核中采用链表,理论无上限
监听FD越多,每次遍历消耗时间也越久...结构体,返回对应的句柄epfd
int epoll_create(int size)
//2.将一个FD添加到epoll的红黑树中,并设置ep_poll_callback
//callback触发时,...//解析缓冲区字符串,转为Redis命令参数存入c->argv数组
processInputBuffer(c);
...