Poll与Epoll 区别总结
来源:互联网 发布:unity3d 联网授权 编辑:程序博客网 时间:2024/06/10 20:20
1.概述
网上收集了一下poll和epoll的实现原理,写下来以备后验.
2. 从api上面看,select和poll每次调用的时候需要用户自己整理该次调用关注的文件描述符和事件,内核是不会帮助用户维护前面已经关注过的记录. 而epoll是增量式的管理,每次需要告诉内核我现在关心的哪个文件描述符,内核查询以往的记录,整合起来. 打个比方就像出去购物,select和poll老板就不怎么好,每次去的时候都需要告诉老板我喜欢什么商品.而epoll老板比较好,拿个本子记录你自己的喜好记录,你只需要告诉老板我喜好的变更即可. 言归正传, select和poll 每次需要拷贝所有的文件描述符和对应事件进入内核, epoll每次只需要拷贝最新的变更进入内核. 在文件描述符多的时候得到性能提升.
3. epoll内核维护红黑树和就绪队列来完成工作.poll每次都需要去轮询设备,而epoll是向设备注册回调函数,让设备自己来完成向就绪队列上的插入工作,内核只需要判断就绪队列是否为空.
4. 参数的返回, 都需要将就绪的事件拷贝给用户空间.
5. 总结起来,主要的不同在于传递参数的方式和 轮询,回调处理就绪队列的不同.
阅读全文
0 0
- Poll与Epoll 区别总结
- epoll与select\poll区别 .
- epoll与select、poll区别
- epoll与select\poll区别
- epoll与select、poll区别
- select、poll、epoll之间的区别总结
- select、poll、epoll之间的区别总结
- select、poll、epoll之间的区别总结
- select、poll、epoll之间的区别总结
- select、poll、epoll之间的区别总结
- select、poll、epoll之间的区别总结
- select、poll、epoll之间的区别总结
- select、poll、epoll之间的区别总结
- select、poll、epoll之间的区别总结
- select、poll、epoll之间的区别总结
- select、poll、epoll之间的区别总结
- select、poll、epoll之间的区别总结
- select、poll、epoll之间的区别总结
- springmvc @RequestParam 获取参数 HTTP Status 400
- React : 展示组件 & 容器组件 附案例与视频
- GitHub退出登录账号操作步骤
- tcp传输的三次握手和四次挥手简单理解
- 流程图解Spring Framework(一) spring 如何创建一个Bean的
- Poll与Epoll 区别总结
- Java equals == 简单分析
- 【bzoj2393】Cirno的完美算数教室
- 蓝桥杯 算法提高 5-3日历
- Postman学习部分资料整理
- 图片旋转
- SSHM(Spring,SpringMVC,Hibernate,Mybatis)基于xml文件和注解(@Annotation)
- 流程图解Spring Framework(二) spring 如何启动容器的---XML配置
- 八、java--final