开发者社区> 问答> 正文

epoll_wait返回结果?? 400 报错

epoll_wait返回结果?? 400 报错

问题:
   0.1ms  s ocket a 过来一起个请求 a
   0.2ms   socket b 过来一起个请求 b  
   epoll_wait返回几次,返回结果是什么

这个我不懂epoll原理 里面过程是如何呢 还是跟et和lt有关系呀?

我理解只要检测事件 麻烦就返回 返回两次 每次返回事件是1 理解正确吗?

展开
收起
爱吃鱼的程序员 2020-06-05 12:41:05 638 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    这个看你代码的执行速度,加入你代码里处理请求很复杂,那么就会收到2个,如果很简单,那么一次收到1个,epoll就是相应通知,就是对内核而言,他检测的这段时间有几个socket连接,那么就是返回几######et和lt应该是一个是响应没有被处理,那么下次还会有它,一个是这次不处理,下次就丢了######

    通常情况下,epoll_wait会先返回一次,里面有socket a为ready,处理过程中,你会读取a里的数据,并处理。处理完之后,你会再次调用epoll_wait,这时会再返回一次,里面socket b为ready。

    lt 是指epoll_wait返回socket a为ready,如果你不读取a中的数据,那么下一个epoll_wait还会返回a为ready,对于et,则第二次调用不再返回a为ready

    ######都有可能 
    2020-06-05 12:41:24
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载