首页 > 代码库 > Linux学习笔记-epoll

Linux学习笔记-epoll

#include <sys/epoll.h>

epoll是Linux内核的一个系统调用,一种可扩展的I/O事件通知机制,最早在Linux内核2.5.44版本引入. 它的功能是监视多文件描述符(monitor multiple file descriptors) 来判断是否有I/O操作。它被设计来代替老版POSIX的select(2)和poll(2)系统调用,以在要求苛刻的应用程序中(需要监视的文件描述符数目很大)获取更好的性能。

API

1. int epoll_create1(int flags); 创建一个epoll对象并返回其文件描述符。(creates  an epoll instance and returns a file descriptor referring to that instance)

2. int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event);  

3. int epoll_wait(int epfd, struct epoll_event *events, int maxevents, int timeout);

等待任何用epoll_ctl注册的事件,直到至少一个发生或者事件耗尽。在events中返回发生的事件,一次最多有maxevents个事件。

出发模式:edge-triggered 和level-triggered modes.

 

Linux学习笔记-epoll