我设计的这个内存池如何?对不对?
class MyMemory
{
#define BUFFER_PRE_SIZE 4*1024
private:
list<void*> m_listbuffer; //管理空余缓冲区的链表
list<void*> m_listUsedBuffer; //管理使用的缓冲区
public:
MyMemory(int nSize = 10); //default value:10-4*10k
~MyMemory();
MyMemory(const MyMemory& rhs); //不要实现
MyMemory& operator=(const MyMemory& rhs); //不要实现
bool AllocateBuffer(int nLen = 1); //default value:1*BUFFER_PRE_SIZE,分配后内存指针添加到m_listbuffer
void* GetBuffer(); //default value:1*BUFFER_PRE_SIZE,从m_listbuffer中取出后,添加到m_listUsedBuffer里
bool ReleaseBuffer(void* pUsedBuffer); //default value:1*BUFFER_PRE_SIZE,从m_listUsedBuffer中交还一个缓冲区到m_listbuffer中
void MakeEmpty(); //交还所有的m_listUsedBuffer给m_listbuffer后,清空m_listbuffer.
};
平台:win32
对不对?
...全文
相关推荐
内存池的介绍与设计详解
在设计内存池时,需要考虑以下几点:- 内存单元大小的选择:应该基于应用程序的内存需求,确保大多数分配请求能够匹配到内存池中的内存单元,以减少内存碎片。
简易的内存池实现
在简易的内存池实现中,通常包括以下几个核心部分:1. **内存池初始化**:首先,我们需要一个函数来初始化内存池。这个函数会申请一大块内存,大小可以根据实际需求预先设定。
几种内存池的实现(c/c++ 源码)
在C/C++中,通过合理设计和优化内存池,可以显著提高程序性能,降低内存碎片,尤其在资源受限或高并发的环境中尤为重要。实际应用中,开发者应根据需求选择合适的内存池策略,并结合源码进行细致的调优。
简单内存池模块详细设计
### 简单内存池模块详细设计#### 定义内存池性能优化的原理内存池作为一种优化技术,主要用于提高程序在频繁分配和释放小块内存时的效率。
比较使用内存池与不用内存池的不同性能
在设计系统时,应充分理解内存池的工作原理和潜在的性能影响,以便做出最佳决策。


