网络编程之一个bug找一天系列

一、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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值