- 博客(5)
- 收藏
- 关注
原创 poll&&epoll实现分析(二)——epoll实现
Epoll实现分析——作者:lvyilong316通过上一章分析,poll运行效率的两个瓶颈已经找出,现在的问题是怎么改进。首先,如果要监听1000个fd,每次poll都要把1000个fd 拷入内核,太不科学了,内核干嘛不自己保存已经拷入的fd呢?答对了,epoll就是自己保存拷入的fd,它的API就已经说明了这一点——不是 epoll_wait的时候才传入fd,而是通过epoll_ctl
2014-05-24 11:01:58
489
原创 理清Linux中的各种用户ID关系
绿色代表进程(进程的性质)橙色代表文件(文件的性质)。当进程试图打开文件时,内核会进行如下权限测试:0. 若进程的有效用户ID是0(超级用户),则允许访问。1. 若进程的有效用户ID等于文件的所有者ID,那么进行文件所有者访问权限的测试(与open的参数对比),对应图中的1。2. 若进程的有效组ID或进程的附加组ID之一等于文件的组ID,则进行文件所属组的权限测试,对应图中
2014-05-24 10:56:01
976
原创 从select的一个死循环谈epoll的ET模式
最近写程序遇到一个问题,就是发现select监听标准输出的时候遇到了死循环,具体程序如下程序一。程序的意图是每当用户在控制台有任何输入,就输出”hello world!”。转载请尊重原创、保留相关链接本文来自多宝平台 :http://www.mbodb.com程序一:#include #include #include #include
2014-05-24 10:54:20
365
原创 从RTTI谈C++的向下转型
1.什么是RTTI?RTTI 是“Runtime Type Information”的缩写,意思是:运行时类型信息。它提供了运行时确定对象类型的方法。允许“用指向基类的指针或引用来操纵对象”的程序能够获取到“这些指针或引用所指对象”的实际派生类型。在 c++中,为了支持 RTTI 提供了两个操作符 : 1 dynamic_cast 操作符:它允许在运行时刻进行类型转换,从而使程
2014-05-24 10:47:53
445
原创 C++中enum的大小
关于枚举类型所占内存的大小,书里对枚举大小的定义是:sizeof枚举是sizeof某类可以包含枚举range的整型,并且不会大于sizeof(int)。也就是说枚举大小不一定等于sizeof(int)。 比如在一个sizeof(int)等于4的机器上,sizeof枚举有可能是1或者4,但不会是8 。要想强制enum等于一个固定长度,就要定义一个最大的长度放入enum定义中。比如
2014-05-24 10:46:14
3307
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人