Epoll epoll是Linux核心的可擴展IO事件通知機制於Linux 首度登場它設計目的旨在取代既有POSIX select與poll系統函式讓需要大量操作檔案描述子的程式得以發揮更優異的性能舉例來說舊有的系統函式所花費的時間複雜度為Onepoll的時間複雜度Olog nepoll 实现的功能与 poll 类似都是监听多个文件描述符上的事件 epoll與FreeBSD的kqueue類似底層都是由可組態的作業系統核心物件建構而成並以檔案描述符file descriptor的形式呈現於使用者空間epoll 通過使用紅黑樹RBtree搜索被監視的檔案描述符file descriptor 在 epoll 实例上注册事件时epoll 会将该事件添加到 epoll 实例的红黑树上并注册一个回调函数当事件发生时会将事件添加到就绪链表中