- 博客(0)
- 资源 (3)
- 收藏
- 关注
volatile和原子操作有没有关系,我的实验+别人论文
对volatile的原子性做探究,加上自己的实验代码和实验结果!
Case多核?单核?是否有volatile是否编译器优化-O2结果!
2013-05-18
EPOLL模型:关于并发连接的处理
Linux 2.6内核中提高网络I/O性能的新方法-epoll I/O多路复用技术在比较多的TCP网络服务器中有使用,即比较多的用到select函数。
1、为什么select落后
首先,在Linux内核中,select所用到的FD_SET是有限的,即内核中有个参数__FD_SETSIZE定义了每个FD_SET的句柄个数,在我用的2.6.15-25-386内核中,该值是1024,搜索内核源代码得到:
include/linux/posix_types.h:
#define __FD_SETSIZE 1024
也就是说,如果想要同时检测1025个句柄的可读状态是不可能用select实现的。或者同时检测1025个句柄的可写状态也是不可能的。其次,内核中实现 select是用轮询方法,即每次检测都会遍历所有FD_SET中的句柄,显然,select函数执行时间与FD_SET中的句柄个数有一个比例关系,即 select要检测的句柄数越多就会越费时。当然,在前文中我并没有提及poll方法,事实上用select的朋友一定也试过poll,我个人觉得 select和poll大同小异,个人偏好于用select而已。
2012-01-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅