epoll是开发linux高性能伺服器的必备技术至,epoll本质,是服务端程序员的必须掌握的知识。
文/罗培羽
上篇回顾
四、内核接收网路数据全过程
五、同时监视多个socket的简单方法
六、epoll的设计思路
七、epoll的原理和流程
本节会以示例和图表来讲解epoll的原理和流程。
创建epoll对象
如下图所示,当某个进程调用epoll_create方法时,内核会创建一个eventpoll对象(也就是程序中epfd所代表的对象)。eventpoll对象也是文件系统中的一员,和socket一样,它也会有等待队列。