
while(1) {for(Fdx in (FdA~FdE)) {if(Fdx有数据) {读Fdx;处理;}}}
判断有无数据是使用程序,效率比较低
select


优点:
将Fd的集合扔到了内核态,让内核来判断哪个有数据
缺点:
- 1024 bitmap 文件描述的大小有限
- FDset 不可重用,每次重新声明一个
- 用户态到内核态的切换任有个开销
- O(n)再次遍历
poll

epoll



视频参考代码与文章链接:
https://devarea.com/linux-io-multiplexing-select-vs-poll-vs-epoll/#.XYD0TygzaUl
https://notes.shichao.io/unp/ch6/
https://www.ulduzsoft.com/2014/01/select-poll-epoll-practical-difference-for-system-architects/
