码迷,mamicode.com
首页 > 其他好文 > 详细

select与epoll

时间:2019-02-02 14:29:43      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:问题   .net   事件   数组   detail   www   linux内核   因此   用户   

https://www.cnblogs.com/skyfsm/p/7079458.html
一、select和poll的用武之地越来越有限,风头已经被epoll占尽
select的缺点:
1、单个进程能够监视的文件描述符的数量存在最大限制,通常是1024,当然可以更改数量,但由于select采用轮询的方式扫描文件描述符,文件描述符数量越多,性能越 差;(在linux内核头文件中,有这样的定义:#define __FD_SETSIZE    1024)
2、内核 / 用户空间内存拷贝问题,select需要复制大量的句柄数据结构,产生巨大的开销;
3、select返回的是含有整个句柄的数组,应用程序需要遍历整个数组才能发现哪些句柄发生了事件;
4、select的触发方式是水平触发,应用程序如果没有完成对一个已经就绪的文件描述符进行IO操作,那么之后每次select调用还是会将这些文件描述符通知进程
相比select模型,poll使用链表保存文件描述符,因此没有了监视文件数量的限制,但其他三个缺点依然存在。
二、该epoll上场了
---------------------
原文:https://blog.csdn.net/davidsguo008/article/details/73556811

select与epoll

标签:问题   .net   事件   数组   detail   www   linux内核   因此   用户   

原文地址:https://www.cnblogs.com/xiaomayi-cyj/p/10348282.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!