
C++缓冲区的设计与实现
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本文章详细探讨了C++中缓冲区的设计原理及其实现方式,包括常见问题和优化技巧。适合中级以上程序员参考学习。
基本想法如下:
方法1:
1. 使用默认缓存5M。
2. 默认线程使用的内存为128K,即最多支持40个线程。
3. 初始化申请一块5M内存,并进行分割;每个线程使用定义的GROUP,每条日志使用一个ITEM。
4. 运行过程中动态管理内存:当用完现有空间后会再申请新的5M内存块。
5. 线程在使用完一个group之后可以继续使用其他的group,且不限定在同一原子buffer中。
可能的问题在于多次申请新内存的过程中可能会出现效率问题。经过测试发现该方法基本可行。
方法2:
1. 使用默认缓存5M。
2. 默认线程使用的内存为128K,即最多支持40个线程。
3. 初始化申请一块5M内存,并进行分割;每个线程使用定义的GROUP,每条日志使用一个ITEM。
4. 运行过程中动态管理内存:当用完现有空间后会丢失数据(不再分配新的内存)。
5. 线程在使用完一个group之后可以继续使用其他的group,且不限定在同一原子buffer中。
可能的问题在于这种方法支持的线程数量有限。
全部评论 (0)
还没有任何评论哟~


