select poll epoll详解
时间: 2023-04-29 11:03:34 浏览: 194
select poll epoll
"select" 和 "poll" 都是 I/O 多路复用的方式,它们都能让一个进程同时监听多个文件描述符 (socket、文件、管道等),当其中有一个或多个可读/可写时,进程就可以对其进行读/写操作。
"select" 和 "poll" 的不同之处在于:
- "select" 的最大监听文件描述符数量受限于 FD_SETSIZE,通常为 1024,因此当监听的文件描述符数量超过 1024 时,就不能使用 "select" 了。
- "poll" 不存在上述限制,它能监听的文件描述符数量更大。
"epoll" 是 Linux 内核为了解决 "select" 和 "poll" 的缺陷而提出的一种 I/O 多路复用机制,它能监听的文件描述符数量比 "select" 和 "poll" 更大,且效率更高。
阅读全文