Linux epoll的ET和LT方式

在Linux上,epoll是一种必须用到的IO复用的方式。

epoll是Linux内核针对select和poll做的改进。

Linux的epoll主要有三个函数:

int epoll_create(int size);
int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event);
int epoll_wait(int epfd, struct epoll_event * events, int maxevents, int timeout);

epoll的方式主要有LT和ET两种方式。

LT是Level Trigger的简写,意思为水平触发;

ET是Edge Trigger的简写,意思为边缘出发。

LT和ET的区别是:

1)LT是默认方式,如果文件句柄还有数据,则会每次进行读取;

2)ET工作方式,会一次读完;

3)用LT方式,尽量让数据读完,不要让IO再扫描程序;

4)ET工作方式,保证缓冲区空间足够。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章