企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[TOC] ## 概述 Epoll是poll的改进版,更加高效,能同时处理大量文件描述符,跟高并发有关 ## Poll - Poll本质上是Linux系统调用 - **作用**是监控资源是否可用。 - poll会**轮询**整个**文件描述符集合** ## Epoll - epoll可以做到只查询被内核IO事件**唤醒的集合** ### 实现 - epoll是基于文件描述符的callback函数来实现的,只有发生IO时间的socket会调用callback函数,然后加入epoll的Ready队列。 - 更多实现细节可以参考Linux源码, ### Mmap - 无论是select、poll还是epoll,他们都要把文件描述符的消息送到用户空间 - 这就存在内核空间和用户空间的内存拷贝。其中epoll使用mmap来共享内存,提高效率