select,epoll的比较
生活随笔
收集整理的這篇文章主要介紹了
select,epoll的比较
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
機制:
select:只支持水平觸發(fā)(數(shù)據(jù)不處理完無限通知)
epoll:支持水平觸發(fā)和邊緣觸發(fā)(僅通知一次)
?
單進程監(jiān)控FD個數(shù)
select: 由FD_SETSIZE設置,默認值是2048。在大量連接的情況下明顯不足。
epoll: 和內存有關,1G內存10W個,一般都夠用。
?
內核監(jiān)控事件的策略
select: 順序遍歷監(jiān)控句柄數(shù)組,在監(jiān)控大量連接句柄且數(shù)據(jù)通信非活躍狀態(tài)下效率低下。
epoll: 活躍的句柄通過callback函數(shù)進行事件自主通知,資源消耗過小;
?
程序中獲取事件句柄的方式
select: 返回整個監(jiān)控句柄數(shù)組,只能順序遍歷查找里面有事件觸發(fā)的句柄
epoll: 返回的數(shù)組就是所有已經(jīng)觸發(fā)事件的句柄。
?
數(shù)據(jù)傳遞
select: 內核態(tài)和用戶態(tài)之間的數(shù)據(jù)傳遞需要進行copy
epoll: mmap映射數(shù)據(jù)空間,免去copy操作
?
轉載于:https://www.cnblogs.com/hdflzh/p/4034848.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結
以上是生活随笔為你收集整理的select,epoll的比较的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于EOF,转自新浪微博
- 下一篇: 黑马程序程序员基础测试(二)