ET和LT触发方式
来源:互联网 发布:mac怎么把字体导入ps 编辑:程序博客网 时间:2024/06/10 05:07
ET和LT触发方式
ET模式只能通过一种方式(图中红线)。所以ET模式下能被唤醒的情况,LT模式下一定也能被唤醒。我们先来讨论特殊情况(ET模式),再来讨论一般情况(LT模式)。
ET
根据上一节对两种加入rdlist途径的分析,可以得出ET模式下被唤醒(返回就绪)的条件为:
对于读取操
(1) 当buffer由不可读状态变为可读的时候,即由空变为不空的时候。
(2) 当有新数据到达时,即buffer中的待读内容变多的时候。
另外补充一点:
(3) 当buffer中有数据可读(即buffer不空)且用户对相应fd进行epoll_mod
IN事件时。
对于情况(1)(2)分别对应图1(a),图1(b)。
对于写操作
(1) 当buffer由不可写变为可写的时候,即由满状态变为不满状态的时候。
(2) 当有旧数据被发送走时,即buffer中待写的内容变少得时候。
另外补充一点:
(3) 当buffer中有可写空间(即buffer不满)且用户对相应fd进行epoll_mod
OUT事件时(具体见下节内容)。
对于情况(1)(2)分别对应图2(a),图2(b)。
LT
LT模式下进程被唤醒(描述符就绪)的条件就简单多了,它包含ET模式的所有条件,也就是上述列出的六中读写被唤醒的条件都是用于LT模式。此外,还有更普通的情况LT可以被唤醒,而ET则不理会,这也是我们需要注意的情况。
对于读操作
当buffer中有数据,且数据被读出一部分后buffer还不空的时候,即buffer中的内容减少的时候,LT模式返回读就绪。如下图所示。
对于写操作
当buffer不满,又写了一部分数据后扔然不满的的时候,即由于写操作的速度大于发送速度造成buffer中的内容增多的时候,LT模式会返回就绪。如下图所示。
注:poll和select都是LT模式。
- ET和LT触发方式
- EPOLL的LT和ET触发方式介绍
- 彻底学会使用epoll(二)——ET和LT的触发方式
- 彻底学会使用epoll(二)——ET和LT的触发方式
- 彻底学会使用epoll(二)——ET和LT的触发方式
- 彻底学会使用epoll(二)——ET和LT的触发方式
- 彻底学会使用epoll(二)——ET和LT的触发方式
- 水平触发(LT)和边沿触发(ET)
- epoll的边缘触发(ET)和水平触发(LT)
- 剖析 epoll ET/LT 触发方式的性能差异
- 剖析 epoll ET/LT 触发方式的性能差异误解
- 剖析 epoll ET/LT 触发方式的性能差异误解
- epoll ET/LT 触发方式的性能差异
- 剖析 epoll ET/LT 触发方式的性能差异误解
- linux epoll ET和LT触发深入分析
- epoll的两种触发模式ET和LT
- 水平触发LT、边缘触发ET
- epoll lt 和 et
- Web基础之JavaScript(二)
- 分词方法
- 如何看国外文献的方法总结
- java学习-list集合有泛型情况添加多种类型数据
- CSS属性之过渡(transition)属性
- ET和LT触发方式
- 使用表单标签,与用户交互
- php函数(2)
- 第六章图像变换-Canny算法
- GRADLE 构建最佳实践
- ant配置
- android为什么说字体有的时候不应该用SP
- 100道动态规划——31 POJ 2411 && POJ 2663 && POJ 3420 状态压缩 矩阵快速幂
- 数据结构实验之链表一:顺序建立链表