关注
poll,作为select和epoll的中间过渡件,(1)和select类似的是:同样存在用户态拷贝到内核态,从内核态拷贝到用户态,poll返回需要轮询才能直到那个事件发生了,相当于3次操作(拷贝+轮询)(2)和epoll类似的是提出了POLLIN、POLLOUT等概念。区别:(1)和select区别:最大的区别是少了while循环开始的临时拷贝,其次是1024监听数量的限制。这里是最有意思的,源于pollfd结构,有三个成员:fd、events关心的事件类型(输入,POLLIN等宏)、revents内核返回事件发生了(返回),我觉得最有意思的就是revents,这东西小于等于0内核直接忽略(pollfd的数组中大量是小于等于0的),poll返回的是revents大于0的那些事件,也就避免了while刚开始的临时拷贝(2)select/poll没有避免用户到内核、内核到用户、用户态的轮询问题。怎么解决,epoll出现了--用户到内核需要拷贝(select/poll/epoll三个都需要),内核到用户需要拷贝(注意:若100W的socket,此时只有1w事件发生了,select/poll需要拷贝100W个,而epoll需要拷贝1w个),轮询(select/poll需要轮询100W个,而epoll需要轮询1w个),epoll之所以高效,核心是因为它只关心此时已经发生的事件!!!这样想来,这个idea是平凡的,还能在优化了,不,因为epoll只处理发生的事件,已经最优了
1
相关推荐
点赞 评论 收藏
分享


点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 牛油的搬砖plog #
9486次浏览 50人参与
# 实习学不到东西怎么办? #
197556次浏览 2046人参与
# 京东TGT #
59533次浏览 197人参与
# 一人一个landing小技巧 #
10320次浏览 191人参与
# 跳槽时有那些注意事项 #
83297次浏览 518人参与
# 面试问题记录 #
88833次浏览 1250人参与
# 应届生初入职场,求建议 #
191435次浏览 2506人参与
# 安利/避雷我的专业 #
69130次浏览 502人参与
# 选完offer后,你后悔学本专业吗 #
40734次浏览 221人参与
# 市场营销人求职交流聚集地 #
112455次浏览 1011人参与
# 被AI治愈的瞬间 #
18171次浏览 330人参与
# 科大讯飞求职进展汇总 #
278835次浏览 2713人参与
# 我心目中的理想工作是这样的 #
58661次浏览 795人参与
# 找工作的破防时刻 #
5754次浏览 71人参与
# 工作中,你有没有遇到非常爱骂人的领导? #
23882次浏览 152人参与
# 实习生应该准时下班吗 #
207248次浏览 1346人参与
# 华子oc时间线 #
1178061次浏览 6211人参与
# 求职季如何保持心态不崩 #
112471次浏览 937人参与
# 面试经验谈 #
64730次浏览 1088人参与
# 拼多多工作体验 #
19594次浏览 154人参与
# 技术转行的心路历程 #
50332次浏览 665人参与