neicunchi/neicun.h
lls 1c61cb0b21 线程池
Signed-off-by: lls <staying_liu_1@163.com>
2025-03-07 11:13:53 +08:00

32 lines
676 B
C++

#ifndef THREAD_SAFE_MEMORY_POOL_H
#define THREAD_SAFE_MEMORY_POOL_H
#include <vector>
#include <mutex>
class ThreadSafeMemoryPool {
public:
// 构造函数
ThreadSafeMemoryPool(size_t blockSize, size_t blockCount);
// 分配内存
void* allocate();
// 释放内存
void deallocate(void* ptr);
// 析构函数
~ThreadSafeMemoryPool();
private:
// 初始化内存池
void init();
size_t blockSize_; // 每个块的大小
size_t blockCount_; // 块的数量
std::vector<void*> freeBlocks_; // 空闲块列表
std::vector<void*> allocatedBlocks_; // 已分配的块列表
std::mutex mutex_; // 互斥锁
};
#endif // THREAD_SAFE_MEMORY_POOL_H