selec和poll的区别

selec和poll的区别

select:

  • 文件描述符数量限制select 通常有文件描述符数量的限制,这取决于系统和配置,例如在Linux中默认限制为1024。
  • 效率select 在处理大量文件描述符时效率较低,因为它需要复制整个文件描述符集合到内核空间。
  • 返回值select 返回就绪的文件描述符数量,需要程序遍历整个文件描述符集合来确定哪些文件描述符就绪。
  • 超时select 使用 timeval 结构体来指定超时时间,如果超时则返回 0。

poll:

  • 文件描述符数量限制poll 没有对文件描述符数量的硬性限制,理论上可以处理更多的文件描述符。
  • 效率poll 通过使用一个单独的结构体数组来指定文件描述符,避免了 select 中的复制操作,提高了效率。
  • 返回值poll 返回就绪的文件描述符数量,同样需要程序遍历整个文件描述符集合来确定哪些文件描述符就绪。
  • 超时poll 使用一个单独的参数来指定超时时间,如果超时则返回 0。
posted @   小懿同学  阅读(13)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示