![](https://img-blog.csdnimg.cn/20200716075533323.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Linux
学习总结
liu-9969
低头 追求
展开
-
epoll、poll、select区别
1.文件描述符传入内核的方式select:创建文件描述符集合,拷贝到内核,每个文件描述符会多次拷贝。poll:创建struct pollfd结构体数组拷贝传入内核。epoll:epoll_ctr一个一个上树,并建立回调关系,每个文件描述符只会传入一次。2.内核检测文件描述符就绪的方式select:轮询,遍历所有fd,最后返回一个是否就绪的mask掩码,并根据掩码给fd_set赋值poll:轮询遍历,如果就绪,加入到就绪队列继续遍历epoll:在epoll_ctr上树的时候就在fd和网络设备间建原创 2021-05-31 09:49:33 · 104 阅读 · 0 评论 -
select 的原理、原型、优缺点
epoll和select的总结 【select原型:】 int select( int nfds,//最大fd+1 fd_set *readfds, //传入传出参数,fd集合,数组地址 fd_set *writefds, fd_set *exceptfds, struct timeval *timeout)//监听时间 FD_ZERO(); FD_SET(); FD_ISSET(); struct timeval { long原创 2021-05-28 18:40:37 · 1336 阅读 · 0 评论