epoll底層原理?
epoll的實現原理
epoll_create
在epoll文件系統建立了個file節點,并開辟epoll自己的內核高速cache區,建立紅黑樹,分配
好想要的size的內存對象,建立一個list鏈表,用于存儲準備就緒的事件。
epoll_ctl
把要監聽的socket放到對應的紅黑樹上,給內核中斷處理程序注冊一個回調函數,通知內核,如果
這個句柄的數據到了,就把它放到就緒列表。
epoll_wait
觀察就緒列表里面有沒有數據,并進行提取和清空就緒列表,非常高效。
epoll底層原理?
epoll的實現原理
epoll_create
在epoll文件系統建立了個file節點,并開辟epoll自己的內核高速cache區,建立紅黑樹,分配
好想要的size的內存對象,建立一個list鏈表,用于存儲準備就緒的事件。
epoll_ctl
把要監聽的socket放到對應的紅黑樹上,給內核中斷處理程序注冊一個回調函數,通知內核,如果
這個句柄的數據到了,就把它放到就緒列表。
epoll_wait
觀察就緒列表里面有沒有數據,并進行提取和清空就緒列表,非常高效。