水平触发与边缘触发i
来源:互联网 发布:网络系统安全 编辑:程序博客网 时间:2024/05/04 02:36
水平触发(level-triggered,也被称为条件触发)LT: 只要满足条件,就触发一个事件(只要有数据没有被获取,内核就不断通知你)
边缘触发(edge-triggered)ET: 每当状态变化时,触发一个事件。
1、假设在内核接收到100个字节数据后,无论是水平触发还是边缘触发都会产生一个read ready notification 通知应用程序可读。在应用程序读了50个字节,然后调用api等待io事件,这时水平触发api会因为还有50个字节可读,从而立即返回用户一个read ready notification。而边缘触发api会以为可读这个状态没有发生变化而陷入长期等待。因此边缘触发都要读到socket返回EWOULDBLOCK为止,否则这个socket就会出问题。
2、使用水平触发api时,如果应用程序不需要写就不要关注socket可写事件,否则就会因为无限次的立即返回一个write ready notification。
3、select、poll、epoll
0 0
- 水平触发与边缘触发i
- 水平触发,边缘触发
- epoll 水平触发 边缘触发
- 水平触发和边缘触发
- 水平触发和边缘触发的区别
- 水平触发和边缘触发的区别
- 水平触发和边缘触发的区别
- epoll 水平触发和边缘触发
- 水平触发和边缘触发的区别
- 水平触发和边缘触发的区别
- 水平触发和边缘触发的区别
- NIO 水平触发,边缘触发的区别
- epoll的水平触发和边缘触发
- 水平触发和边缘触发的区别
- 水平触发LT、边缘触发ET
- epoll的水平触发和边缘触发
- EPOLL边缘触发和水平触发的区别
- epoll 水平触发和边缘触发的区别
- Python中yield关键字(stackoverflow高票回答)
- 基于统计的命名实体识别特征选择
- IOS中键盘隐藏几种方式
- 拍照和从相册选择图片
- Selenium Webdriver元素定位的八种常用方法
- 水平触发与边缘触发i
- hdu5348(欧拉回路+欧拉路径)
- 警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property ..
- 指针数组和数组指针的区别
- 有一定弹性的ListView
- YL杯超级篮球赛_纪中1325_带权中位数
- 快速排序
- 软件测试实习0706-面向对象测试
- 设计模式——工厂模式,做个笔记