1.文件描述符
----
linux下的文件描述符是一个用于表述指向文件的引用的抽象化概念(在windows下是HANDLE句柄)....这些事件是怎么产生的,由谁产生的,怎样让epoll捕捉到此事件.都是系统在对事件进行维护和通知
这是理解epoll的一个重要因素.
2.epoll工作模式
----
epoll不产生事件,但它监听并报告事件...就可以被epoll正确的捕捉到.
epoll可以在两种模式下来捕捉监听的文件描述符产生的事件....第一种是:ET模式,也就是Edge Triggered模式,只有文件发生变化的时候才会报告事件,意思是在一段时间内,连续的同样事件只报告一次,之后即便有相同的事件,也不再向上提交.....
3.应用方式
----
目前接触过的应用中如果使用ET模式,文件描述符必须设为非阻塞模式以避免由于一个文件的阻塞读/阻塞写操作把处理多个文件描述符的任务饿死,比如在对socket链接进行事件监听时