sync_shared 類別
描述的同步處理篩選會使用 mutex 來控制對所有配置器所共用之快取物件的存取。
語法
template <class Cache>
class sync_shared
參數
Cache
與同步處理篩選相關聯的快取類型。 可以是 cache_chunklist
、cache_freelist
或 cache_suballoc
。
成員函式
成員函數 | 描述 |
---|---|
allocate | 配置記憶體區塊。 |
deallocate | 從指定位置起算的儲存體中,釋放指定數目的物件。 |
equals | 比較兩個快取是否相等。 |
需求
Header:<allocators>
命名空間: stdext
sync_shared::allocate
配置記憶體區塊。
void *allocate(std::size_t count);
參數
計數
要配置的陣列元素數目。
傳回值
所配置物件的指標。
備註
成員函式會鎖定 mutex、呼叫 cache.allocate(count)
、解除鎖定 mutex,然後傳回之前呼叫 cache.allocate(count)
的結果。 cache
,代表目前的快取物件。
sync_shared::d eallocate
從指定位置起算的儲存體中,釋放指定數目的物件。
void deallocate(void* ptr, std::size_t count);
參數
ptr
要從儲存體解除配置之第一個物件的指標。
計數
要從儲存空間解除配置的物件數目。
備註
此成員函式會鎖定 mutex、呼叫 cache.deallocate(ptr, count)
(其中 cache
代表快取物件),然後解除鎖定 mutex。
sync_shared::equals
比較兩個快取是否相等。
bool equals(const sync_shared<Cache>& Other) const;
參數
Cache
與同步處理篩選相關聯的快取類型。
其他
要比較是否相等的快取。
傳回值
如果 cache.equals(Other.cache)
的結果 (其中 cache
代表快取物件) 是 true
,即為 true
,否則為 false
。