X Tutup
#pragma once #include"CommonResource.h" class CentralControlCache { public: static CentralControlCache* GetInstance() { return &_sInst; }; //获取多个内存对象--开始地址 结束地址 期望个数 内存对象大小,返回实际获取的内存对象个数 size_t GetRangeMem(void*& start, void*& end, size_t expectedNum, size_t size); //在SpanList中获取还有内存的内存的Span Span* GetOneSpan(SpanList& list,size_t size); //释放内存到central control cache中 void ReleaseListToSpans(void* start,size_t memSize); private: SpanList _spanlists[CENTRAL_SPANLIST_SIZE]; private: //单例设计 CentralControlCache() {} CentralControlCache(const CentralControlCache&) = delete; //因为是static类型的,因此可以不适用指针类型 static CentralControlCache _sInst; };
X Tutup