epoll模型的EPOLLLT模式和EPOLLET模式比较
来源:互联网 发布:ios手机休眠关闭网络 编辑:程序博客网 时间:2024/06/06 07:20
转自:epoll模型的EPOLLLT模式和EPOLLET模式比较
epoll是linux系统最新的处理多连接的高效率模型, 工作在两种方式下, EPOLLLT方式和EPOLLET方式。
EPOLLLT是系统默认, 工作在这种方式下, 程序员不易出问题, 在接收数据时,只要socket输入缓存有数据,都能够获得EPOLLIN的持续通知, 同样在发送数据时, 只要发送缓存够用, 都会有持续不间断的EPOLLOUT通知。
而对于EPOLLET是另外一种触发方式, 比EPOLLLT要高效很多, 对程序员的要求也多些, 程序员必须小心使用,因为工作在此种方式下时, 在接收数据时, 如果有数据只会通知一次, 假如read时未读完数据,那么不会再有EPOLLIN的通知了, 直到下次有新的数据到达时为止; 当发送数据时, 如果发送缓存未满也只有一次EPOLLOUT的通知, 除非你把发送缓存塞满了, 才会有第二次EPOLLOUT通知的机会, 所以在此方式下read和write时都要处理好。 暂时写到这里, 留作备忘。
附加: 如果将一个socket描述符添加到两个epoll中, 那么即使在EPOLLET模式下, 只要前一个epoll_wait时,未读完, 那么后一个epoll_wait事件时, 也会得到读的通知, 但前一个读完的情况下, 后一个epoll就不会得到读事件的通知了。。。。。
阅读全文
0 0
- epoll模型的EPOLLLT模式和EPOLLET模式比较
- epoll模型的EPOLLLT模式和EPOLLET模式比较
- epoll的EPOLLLT模式和EPOLLET模式比较
- epoll的EPOLLLT模式和EPOLLET模式比较
- epoll 的 EPOLLET 和 EPOLLLT
- epoll 的 EPOLLET 和 EPOLLLT
- epoll:EPOLLLT和EPOLLET的区别
- 一个关于EPOLLET和EPOLLLT的问题
- EPOLLLT和EPOLLET
- epoll:EPOLLLT模式下的正确读写方式
- epoll:EPOLLET模式下的正确读写方式
- epoll:EPOLLLT模式下的正确读写方式
- 对linux 多路复用Epoll模型的水平出发模式和边缘触发模式的理解
- epoll的LT模式和ET模式
- epoll的ET模式和LT模式
- epoll模型有两种工作模式
- EPOLL的ET和LT模式
- EPOLL的ET和LT模式
- ubuntu 16.04 上不了网?DSL消失?更新网卡驱动?
- 如何在微信小程序的页面间传递数据?
- Android Listview加载不同布局
- stuff list of python
- c语言
- epoll模型的EPOLLLT模式和EPOLLET模式比较
- 根据multiselect选择的字段导出csv
- idea实体类注解生成表
- JAVA获取数组中最大值及其下标
- 若你要开源自己的代码,此文带你了解开源协议
- thinkphp5.0学习(四):入口文件、路由模式、路由设置和url生成
- SQL保留字符的处理(like,%,_)
- 趣图:什么是测试?看完你就知道了
- easyui datagrid 列隐藏和显示