epoll
来源:互联网 发布:e4a怎么写入数据库 编辑:程序博客网 时间:2024/05/22 10:36
程式界面
int epoll_create(int size);
建立epoll
物件并回传其描述子。
int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event);
将要交由核心管控的档案描述子加入epoll物件并设定触发条件。
int epoll_wait(int epfd, struct epoll_event *events, int maxevents, int timeout);
等待已注册之事件被触发或计时终了。
触发模式
epoll
提供edge-triggered及level-triggered模式。在edge-trigger模式中,epoll_wait
仅会在新的事件首次被加入epoll
物件时返回;于level-triggered模式下,epoll_wait
在事件状态未变更前将不断被触发。
举例来说,倘若有一个已经于epoll
注册之管线接获资料,epoll_wait
将返回,并发出资料读取的信号。现假设缓冲区的资料仅有部分被读取并处理,在level-triggered模式下,任何对epoll_wait
之呼叫都将即刻返回,直到缓冲区中的资料全部被读取;然而,在edge-triggered的情境下,epoll_wait
仅会于再次接收到新资料(亦即,新资料被写入管线)时返回。
相关条目
- kqueue
- libevent
- I/O Completion Ports
参考资料
- ^http://www.kernel.org/doc/man-pages/online/pages/man4/epoll.4.html
- ^http://kovyrin.net/2006/04/13/epoll-asynchronous-network-programming
0 0
- epoll
- epoll
- epoll
- epoll
- epoll
- epoll
- epoll
- epoll
- epoll
- epoll
- epoll
- epoll
- epoll
- epoll
- epoll
- epoll
- epoll
- epoll
- setuid setgid root 权限提升 android root su
- select (Unix)
- 无论你说什么,都有人不能或不愿领会
- eclipse移动上下行
- Codeforces Round #301 (Div. 2)A B C
- epoll
- PHP实现页面静态化--imooc课程
- Spring HttpHeader HttpResponse
- 在gradle中配置apk的签名文件keystore
- 使用POI导出Excel
- ios GCDAsyncSocket(Tcp)的使用
- 重构方法之重新组织函数
- VMware Workstation 11序列号
- ios系统安全机制概览