- 博客(3)
- 收藏
- 关注
转载 内存池模型设计探讨二
链表方式的内存管理特点是可以管理足够多的对象(对象的数量依赖指针的范围),不足的地方是无法精确的满足小内存块的申请,例如1字节、2字节大小的对象,因为链表节点指针是4字节(32位平台)。我们可以通过简单的算法避免这种情况,例如宏:#define ALLOC_ROUNDUP(X, Y) ((X)+((Y)-1)&~((Y)-1)),我们可以采用这个宏调整block_size,使用户的对象大小
2006-07-10 22:29:00
911
原创 内存池模型设计探讨
1 引言我们通常的内存管理方式是申请固定大小的一段内存,并采用链表的方式对其进行管理,这样可能会遇到几个问题:1、 采用链表方式无法实现小内存的申请;2、 另一个问题是内存申请边界问题;3、 无法满足任意大小的内存申请;4、 无法满足任意数量的内存申请;我认为一个设计全面的内存池模型应该满足上面的四个条件。2 内存池结构图2.1内存池模
2006-07-10 00:50:00
1268
原创 利用主动对象模型设计并发同步请求
我们可以利用主动对象调用和执行去耦合的这种方式,实现自己的并发同步请求,这样可以防止服务程序和消费者之间的请求阻塞,并能提高处理性能。基本的解决方案:l 请求接口(proxy):用于接收客户端的请求数据;l 执行体(servant):用来实现具体的执行过程;l 调度(task):用于多线程和队列结合实现请求派发;交互序列图:
2006-07-05 15:00:00
1143
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人