Files
2026-03-03 13:56:44 +08:00

37 lines
651 B
C++

#ifndef _WH_ALLOCATION_ID_H_
#define _WH_ALLOCATION_ID_H_
#include <deque>
#include <map>
#include "ServiceCoreHead.h"
using std::deque;
using std::map;
class SERVICE_CORE_CLASS WHAllocationID
{
private:
CCriticalSection m_CriticalSection; //同步对象;
deque<int> m_allocationIDQueue; //随机ID的queue;
map < int, bool > m_allocationIDMap; //随机ID的map;
enum{ default_maxsize=10000 };
public:
WHAllocationID(int nMaxSize = default_maxsize);
~WHAllocationID(){};
//重新分配更大Size;
void ReAllocate( int nMaxSize );
//获得一个随机ID;
int PopValue();
//归还分配出去的ID;
void PushValue( int nID );
};
#endif