epoll 和poll
时间: 2024-01-24 13:08:42 浏览: 91
poll 与epoll分析
5星 · 资源好评率100%
epoll 是 Linux 特有的 I/O 复用函数,与 select 和 poll 在实现和使用上有很大差异。与 select 和 poll 只能使用轮询方式遍历文件描述符集合不同,epoll 采用事件驱动的方式,通过内核事件表来管理和监控文件描述符上的事件。与 select 和 poll 相比,epoll 提供了更高效的 I/O 事件触发机制,可以同时处理更多的连接。此外,epoll 还提供了边沿触发模式(Edge Triggered),可以缓存 IO 状态,减少 epoll_wait/epoll_pwait 的调用,从而提高应用程序的效率。
epoll 相关的函数包括:
- epoll_create():用于创建内核事件表。
- epoll_ctl():用于操作内核事件表,添加、修改或删除文件描述符上的事件。
- epoll_wait():用于在一段超时时间内等待一组文件描述符上的事件。
阅读全文