内存池
发布日期:2021-11-07 23:20:54
浏览次数:3
分类:技术文章
本文共 986 字,大约阅读时间需要 3 分钟。
地址:
内部构造
内存池类MemoryPool的声明如下:
class MemoryPool{private: MemoryBlock* pBlock; USHORT nUnitSize; USHORT nInitSize; USHORT nGrowSize;public: MemoryPool( USHORT nUnitSize, USHORT nInitSize = 1024, USHORT nGrowSize = 256 ); ~MemoryPool(); void* Alloc(); void Free( void* p );}; |
MemoryBlock为内存池中附着在真正用来为内存请求分配内存的内存块头部的结构体,它描述了与之联系的内存块的使用信息:
struct MemoryBlock{ USHORT nSize; USHORT nFree; USHORT nFirst; USHORT nDummyAlign1; MemoryBlock* pNext; char aData[1]; static void* operator new(size_t, USHORT nTypes, USHORT nUnitSize) { return ::operator new(sizeof(MemoryBlock) + nTypes * nUnitSize); } static void operator delete(void *p, size_t) { ::operator delete (p); } MemoryBlock (USHORT nTypes = 1, USHORT nUnitSize = 0); ~MemoryBlock() {}}; Aache实现 |
转载地址:https://blog.csdn.net/zhangwu416826/article/details/7608581 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年04月05日 00时41分48秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
美团点评实时数仓实践
2019-04-27
Guava学习之Lists
2019-04-27
安装JUDDI服务器以及发布WSDL:第二部分,发布WSDL
2019-04-27
一文彻底搞懂令人疑惑的Java和JDK的版本命名!
2019-04-27
listview学习之simpleadapter详细介绍
2019-04-27
【Unity3D】 灯光学习
2019-04-27
Python3《机器学习实战》学习笔记(三):决策树实战篇之为自己配个隐形眼镜
2019-04-27
学生成绩信息管理c++
2019-04-27
Qt网络编程———TCP(1)
2019-04-27
java 构造方法中super()和this()
2019-04-27
华为HCIA-datacom 学习笔记汇总目录
2019-04-27
第4章 Python 数字图像处理(DIP) - 频率域滤波1 - 傅里叶级数和变换简史
2019-04-27
v-if和v-show的区别
2019-04-27
Linux下创建用户,分组,配置jdk, tomcat
2019-04-27
HikariCP、MySQL Configuration 性能优化
2019-04-27
系统配置自动装载机制 - 分布式开发
2019-04-27
SpringCloud实战 - Hystrix
2019-04-27
Kafka实战(七) - 优雅地部署 Kafka 集群
2019-04-27