select/poll/epoll 优缺点比较

校招应届生简历中,有一个 C++ 项目出现的频率非常高...

select

  • 🙁 1024 fd 限制(可修改,麻烦)
  • 🙁 需要遍历才知道哪些 fd ready
  • 🙁 副作用:修改传入 fd_set,每次需要重新赋值

poll

  • 🙂 解决了 select 的 fd 1024 限制
  • 🙁 依然需要遍历才知道哪些 fd ready
  • 🙁 也有副作用,手动复位 revent

epoll

  • 🙂 无 1024 fd 限制
  • 🙂 值返回 ready fd 列表,无需遍历整个 fd 集合
  • 🙂 无副作用,不需要每次复位
  • 兴趣列表红黑树,就绪列表是双向链表
posted @ 2023-11-18 09:43  Zijian/TENG  阅读(61)  评论(0编辑  收藏  举报