在有epoll 后,哪些应用场景下还需要select?
2023-04-21 阅读 47
虽然epoll已经成为了更加高效的I/O多路复用机制,但是在某些特定的场景下,select仍然有其适用的地方:
1. 程序需要同时处理多个socket连接,但是连接数不是很大,且这些连接的I/O活动并不是很频繁,那么使用select也能够满足需求。
2. 程序需要在多个进程或线程之间共享文件描述符,而这些进程或线程之间需要进行同步,使用select可以方便地实现这种同步。
3. 程序需要在I/O事件发生时立即响应,且需要同时处理读和写事件,而epoll只支持水平触发,不能满足需求。
总的来说,epoll更适合处理大量连接,且这些连接的I/O活动频繁的场景,而select则更适合处理连接数不是很大,且I/O活动不是很频繁的场景。
更新于 2023年04月24日