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触发时,...IO进行读取,因为阻塞IO会在没有数据可读时阻塞住,直到有数据时,才会返回,这样会阻塞当前进程
非阻塞IO加ET模式,可以形成非常好的效果,因为可以确保在一次通知中,将数据全部读取完毕
LT模式可能会出现惊群现象...shared.pong是字符串pong的sds对象
addReply(c,shared.pong);
}
addReply将响应结果添加到缓冲区中
void addReply(client* c,