一、epoll 的ET模式和LT模式
你真的清楚ET模式和LT模式的区别码?关键你真的会用码??
LT模式:效率低于ET模式,但LT模式对代码要求低,不容易出现问题
ET模式:效率非常高,非常适合大并发、大流量下。但需要细致处理每一个请求,否则容易发生事件丢失。
实际应用的差别:
LT模式,如果accept调用有返回就可以马上建立这个连接了,然后epoll_wait等待下次事件的触发。
ET模式:如果accept调用有返回,除了建立当前的连接外,不能马上epoll_wait还要继续循环accept(),直到返回-1且errno=EAGAIN
问题: 好吧。我就是掉到了这个坑里了,我在ET模式下,accept之后就立即epoll_wait导致不能接收所有事件的触发,出现事件丢失的情况。
解决办法: 当然是改回LT模式
打算: 之后好好调教一下ET