epoll多路复用模型的疑惑,请高手解答
是这样的,这两天在看linux下的socket,看到了 epoll 那个章节,也基本上能够使用了,现在心里还是有个疑惑。用while()循环来循环 epoll_wait()之后,那么有信号的socket,遍历一遍,将socket信息 封装到一个链表当中,然后同时多个线程来处理链表当中的任务(发送、接收),那么如果epoll_wait()的等待时间设置为-1,那么也就是立即返回,假如说 有个socket 1 为有信号状态了,将其信息封装后加入到列表当中,线程A处理socket1的任务,结果新一轮的epoll_wait之后,socket 1 还是有信号状态,又加入到列表当中 被B 处理,那么这个不就是问题了?? 刚学socket 理解还不深,谁能帮帮我?
------解决方案--------------------
新的通知还会生成,只要网络有收发数据或异常就会有新的事件;