- 博客(10)
- 资源 (3)
- 收藏
- 关注
转载 C++ 对象的内存布局
C++ 对象的内存布局 2008-11-14 作者:陈皓 来源:csdn 前言07年12月,我写了一篇《C++虚函数表解析》的文章,引起了大家的兴趣。有很多朋友对我的文章留了言,有鼓励我的,有批评我的,还有很多问问题的。我在这里一并对大家的留言表示感谢。这也是我为什么再写一篇续言的原因。因为,在上一篇文章中,我用了的示例都是非常简
2011-11-06 23:55:14 389
转载 双缓冲消息队列-减少锁竞争
在网络应用服务器端, 为了性能和防止阻塞, 经常会把逻辑处理和I/O处理分离:I/O网络线程处理I/O事件: 数据包的接收和发送, 连接的建立和维护等.逻辑线程要对收到的数据包进行逻辑处理.通常网络线程和逻辑线程之间是通过数据包队列来交换信息, 简单来说就是一个生产者-消费者模式.这个队列是多个线程在共享访问必须加锁, 意味着每次访问都要加锁。如何更好的如何减少锁竞争次数呢 ?
2011-11-06 23:52:20 790
转载 bitset 用法整理
构造函数bitset b; b有n位,每位都为0.参数n可以为一个表达式.如bitset b0;则"b0"为"00000"; bitset b(unsigned long u); b有n位,并用u赋值;如果u超过n位,则顶端被截除如:bitsetb0(
2011-10-12 20:03:57 436
转载 引用unp解释socket在什么情况下可读?
A socket is ready for reading if any of the following four conditions is true:a. The number of bytes of data in the socket receive buffer
2011-09-29 22:45:38 1608
转载 寻找最大的K个数 (C语言实现)
题目:100亿个整数,求最大的1万个数,并说出算法的时间复杂度 算法:如果把100亿个数全部读入内存,需要100 0000 0000 * 4B 大约40G的内存,这显然是不现实的。我们可以在内存中维护一个大小为10000的最小堆,每次从文件读一个数,与最小堆的堆顶元素
2011-09-29 22:40:26 1323
原创 讨论const的实现机制
说实话 我感觉 const 的实现应该和 宏类似。例如 const int i = 10; 当代码中有引用到 i 的地方 就直接用 10 这个常数替换掉, 只是相对宏会做一次类型安全检测,发现类型不对会进行报错。如果是这样实现的话,那const就应该是在编译期展开
2011-09-29 22:30:06 1215
原创 OFFSETOF(s, m)的宏定义,s是结构类型,m是s的成员,求m在s中的偏移量。
这个是某论坛版主的答案#define OFFSETOF(s, m) ({s s1;(void*)(&s1)-(void*)(&s1->m);}) /*gcc*/s s1; 声明一个结构体s的变量(void*)(&s1) 获得s1的地址(voi
2011-09-29 22:22:20 965
转载 volatile的作用
一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子: 1). 并行设
2011-09-29 22:03:55 340
转载 TCP三次握手及原理
TCP/IP是很多的不同的协议组成,实际上是一个协议组,TCP用户数据报表协议(也称作TCP传输控制协议,Transport Control Protocol。可靠的主机到主机层协议。这里要先强调一下,传输控制协议是OSI网络的第四层的叫法,TCP传输控制协议是TCP/IP传输的
2011-09-29 21:57:23 398
转载 TCP协议三次握手过程分析
TCP(Transmission Control Protocol) 传输控制协议TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledge
2011-09-29 21:53:23 424
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人