单线程

四季春风,不厌冬

  1. 为什么要用IO多路复用
  2. 什么是select
  3. 什么是epoll
  4. 参考

  IO多路复用的常见机制分为select和epoll,本片主要分析两者的异同点。

不了解Linux IO模型的小伙伴,可以先参考一下《Linux四种常见I/O模型分析》

为什么要用IO多路复用

  IO多路复用可以支持高并发,对比多线程,IO复用有什么特别呢?IO多路复用技术的最大优势是系统开销小,系统不必创建进程/线程,也不必维护这些进程/线程,从而大大减小了系统的开销。

  目前支持IO多路复用的系统调用有 select,pselect,poll,epoll,IO多路复用就是通过一种机制,一个进程可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,pselect,poll,epoll本质上都是同步IO,下面主要介绍一下select和epoll。

什么是select

什么是epoll

参考

本文作者 : pengqin.zhou
本文使用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议
本文链接 : https://www.zhoupq.com/blog/IO%E5%A4%9A%E8%B7%AF%E5%A4%8D%E7%94%A8%E4%B9%8Bselect%E3%80%81epoll/

本文最后更新于 天前,文中所描述的信息可能已发生改变