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