共用方式為


sync_per_thread 類別

描述可為每個執行緒物件提供不同快取物件的同步處理篩選

語法

template <class Cache>
class sync_per_thread

參數

Cache
與同步處理篩選相關聯的快取類型。 它可以是 cache_chunklistcache_freelistcache_suballoc

備註

即使無法從另一個執行緒中取消配置某個執行緒中配置的區塊,使用 sync_per_thread 的配置器還是可以比較是否相等。 當您使用這其中一個配置器時,其他執行緒應該看不到某個執行緒中配置的記憶體區塊。 實際上,這表示使用這其中一個配置器的容器只能透過單一執行緒來存取。

成員函式

成員函數 描述
allocate 配置記憶體區塊。
deallocate 從指定位置起算的儲存體中,釋放指定數目的物件。
equals 比較兩個快取是否相等。

需求

Header: < allocators>

命名空間: stdext

sync_per_thread::allocate

配置記憶體區塊。

void *allocate(std::size_t count);

參數

計數
要配置的陣列元素數目。

備註

成員函式會在屬於目前執行緒的快取物件上傳回 cache::allocate(count) 呼叫的結果。 如果未針對目前的執行緒配置任何快取物件,則它會先配置一個。

sync_per_thread::d eallocate

從指定位置起算的儲存體中,釋放指定數目的物件。

void deallocate(void* ptr, std::size_t count);

參數

ptr
要從儲存體解除配置之第一個物件的指標。

計數
要從儲存空間解除配置的物件數目。

備註

成員函式會在屬於目前執行緒的快取物件上呼叫 deallocate。 如果未針對目前的執行緒配置任何快取物件,則它會先配置一個。

sync_per_thread::equals

比較兩個快取是否相等。

bool equals(const sync<Cache>& Other) const;

參數

Cache
同步處理篩選的快取物件。

其他
要比較是否相等的快取物件。

傳回值

false 如果目前線程中尚未配置任何快取物件,或 針對目前線程中的 Other 配置任何快取物件。 否則會傳回將 operator== 套用到這兩個快取物件的結果。

備註

另請參閱

<allocators>