epoll为什么比select和poll效率更高
来源:互联网 发布:星际争霸mac版 编辑:程序博客网 时间:2024/05/18 18:17
基于 select 和 poll 方法的程序中,因为大量操作的消耗与当前连接数 n 成线性相关,从而导致单个任务的资源消耗和当前任务的关系是 O(n)。所以随着连接数目增大,积累起来的资源消耗很大,结果就是系统吞吐量和机器性能不匹配。为了解决该问题,进而发展出了 epoll、kqueue 和 /dev/poll 这三套利器。epoll 已经成为处理并发、高性能的代表。它们的工作原理:
一是避免了每次调用 select 或 poll 时内核用于分析参数建立事件等待结构的开销,取而代之的是维护一个长期的事件关注表,应用程序通过句柄修改这个列表和捕获 I/O 事件;
二是避免了 select 或 poll 返回后,应用程序扫描整个句柄表的开销,取而代之的是直接返回具体的事件列表;
通过以上方法,彻底摆脱了具体操作的消耗与当前连接数 n 的线性关系,极大地提高了服务器处理能力。
关于 epoll 和其他方法的使用参见我的其他博客,有问题和疑问可以给我邮件或者评论哦~:-D
3 0
- 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
- epoll比select和poll高效的原因
- 前置++为什么比后置++效率更高?
- 为什么epoll 比 select 高效
- select,poll和epoll使用
- select,poll和epoll使用
- select,poll和epoll使用
- select, poll和epoll (ZZ)
- select poll 和 epoll简介
- Java文件操作①——XML文件的读取
- Java之万年历
- 在windows下 zookeeper 入门安装和测试
- CSU-1783: 聊天止于呵呵(字符串处理)
- DBA必知的mysql备份与还原
- epoll为什么比select和poll效率更高
- Less-13&14
- shiro与spring整合之DelegatingFilterProxy源码解析
- LintCode 45 最大子数组差
- 链表中倒数第K个节点
- solr 报错:. Index fetch failed. Exception: Server refused connection
- JavaScrip数组去重
- Java中通过FTP上传和下载
- MySQL视图2