epoll是開發linux高性能伺服器的必備技術至,epoll本質,是服務端程序員的必須掌握的知識。
文/羅培羽
上篇回顧
四、內核接收網路數據全過程
五、同時監視多個socket的簡單方法
六、epoll的設計思路
七、epoll的原理和流程
本節會以示例和圖表來講解epoll的原理和流程。
創建epoll對象
如下圖所示,當某個進程調用epoll_create方法時,內核會創建一個eventpoll對象(也就是程序中epfd所代表的對象)。eventpoll對象也是文件系統中的一員,和socket一樣,它也會有等待隊列。