linux epoll 简介
来源:互联网 发布:国云数据裁员 编辑:程序博客网 时间:2024/05/29 04:14
1. linux epoll简介
本文简单介绍linux epoll功能,大部分内容是man 7 epoll
的翻译,一部分是自己的理解;如果有人觉得不对,敬请指正。
epoll实现了I/O事件通知功能,具体功能类似于poll(你可以认为是扩展的poll–extended poll):
监视多个文件描述符,并监测其I/O事件是否发生,比如可读、可写等。
它对监测大规模的文件描述符有很好的扩展性。
epoll 提供如下API:
(I)epoll_create 创建epoll实例,并返回一个引用到该实例的文件描述符(内核新增epoll_create1对epoll_create的功能做了扩展);
(II)epoll_ctl 将我们感兴趣(需要监测)的文件描述符注册到epoll实例;
(III)epoll_wait等待I/O事件,如果没有感兴趣的I/O事件发生,阻塞调用线程 (阻塞的时间和具体参数有关系)。
其中 需要注意的是,epoll API 的使用分为两种情况:
(I)边缘触发(Edge-Triggered Interface)
(II)水平触发(Level-Triggered Interface)
二者区别下文再继续分析。
和epoll相关的数据结构和函数定义在sys/epoll.h
文件里。
2. 水平触发(Level-triggered)和边缘触发(Edge-triggered)
epoll 事件分发接口分为两种,一个是水平触发(LT),一个是边缘触发(ET)。两种机制的区别如下所述。假定场景如下:
PS:这个博客还没有写完,待续。
0 0
- linux epoll简介
- linux epoll 简介
- linux poll与epoll模型简介
- Linux epoll简介(转载)
- epoll简介
- epoll简介
- epoll简介
- epoll简介
- epoll简介
- epoll简介
- EPOLL简介
- epoll简介
- epoll简介
- epoll 简介
- epoll简介
- Windows完成端口与Linux epoll技术简介 1
- [转载]Windows完成端口与Linux epoll技术简介
- Windows完成端口与Linux epoll技术简介
- mongodb调优那些事(一)-系统设置
- Spinner报错: java.lang.RuntimeException: setOnItemClickListener cannot be used with a spinner.
- java 找出n个元素数组中重复次数最多的数(假设出现次数大于n/2)
- 1082. Read Number in Chinese (25)【字符串处理】——PAT (Advanced Level) Practise
- 1083. List Grades (25)【水题】——PAT (Advanced Level) Practise
- linux epoll 简介
- 易互娱2017实习生招聘在线笔试第一场题目1 : 电子数字
- 理解缓存
- 分享一个连接
- 1084. Broken Keyboard (20)【字符串操作】——PAT (Advanced Level) Practise
- vs2015+DDK7.0开发Win7 64位驱动
- 了解StringBuffer的基本使用方法
- java.lang.AbstractMethodError:oracle.jdbc.T4CConnection.createClob()Ljava
- github配置