epoll使用简单分析
来源:互联网 发布:宏观经济数据网 编辑:程序博客网 时间:2024/05/23 20:32
前面说了下select和poll的优缺点及使用,现在说说linux最新的epoll机制,同样,如有不足或错误之处,还请各位道友指导
epoll机制共有三个函数:
- epoll_create(int size):创建一个epoll实体,size是提示内核内部结构的大小,并无大碍(size在linux kernel 2.6.8后自动分配)
- epoll_ctl():控制相应的套接字的行为
- epoll_wait():等待套接字就绪并返回相应的就绪套接字集合(注意:这才是真正强大的地方)
关于更详细如何使用,这有位大神写的《彻底学会epoll》系列:http://blog.chinaunix.net/uid-28541347-id-4273856.html
他写的非常详细,我就在说了,不过还是要说下epoll相对select/poll他们的优势及不足
优点:
- 能够监听相当大数目的套接字连接
- 它返回的是活动的套接字集合,而你不必像select/poll哪样再去轮循所有的套接字去找出活动的套接字
- 相比与select/poll复制套接字集合到内核空间,epoll使用mmap(内存映射)技术,直接省去了复制的步骤
不足:
- epoll只被linux所独自采用,可移植性受限
- epoll每次调用epoll_ctl都是牵扯到系统调用,如果是在许多短连接的话,epoll可能比select/poll还慢
基本就是这样,在选择select/poll/epoll机制的过程中,要分析服务的链接情况,再去做最佳的选择打算
0 0
- epoll使用简单分析
- EPOLL的简单使用
- epoll 使用简单例子
- epoll内核实现简单分析记录
- 一个简单的epoll使用例子
- 多路复用I/O Epoll的简单使用
- 从epoll源码分析它的使用
- epoll分析
- epoll 分析
- epoll使用
- epoll使用
- epoll 使用
- epoll使用
- epoll使用
- epoll使用
- epoll使用
- epoll 使用
- epoll使用
- iOS 多线程 各种锁
- Android小知识库(转)
- Andriod 使用XmlPull解析XML文件
- GitHub初步使用
- 蓝桥杯 牌型种数
- epoll使用简单分析
- CF322 C 优先队列+贪心
- FZU 1063三维扫描
- 常用sql语句(基础)
- 点击UIWebView中的控件跳出当前的试图
- C# kinect v2学习笔记(一) kinect V2配置安装
- Failed to start service jboss.network.management
- 为大家提供一个完整的Hibernate Annotation项目_源码下载
- Spinner的功能和用法