Condividi tramite


Classe sync_shared

Descrive un filtro di sincronizzazione che usa un mutex per controllare l'accesso a un oggetto della cache condiviso da tutti gli allocatori.

Sintassi

template <class Cache>
class sync_shared

Parametri

Cache
Tipo di cache associato al filtro di sincronizzazione. Può essere cache_chunklist, cache_freelist o cache_suballoc.

Funzioni membro

Funzione membro Descrizione
stanziare Alloca un blocco di memoria.
Deallocare Libera un numero specificato di oggetti dall'archiviazione iniziando da una posizione specificata.
uguale Confronta due cache per stabilirne l'uguaglianza.

Requisiti

Intestazione:<allocatori>

Spazio dei nomi: stdext

sync_shared::allocate

Alloca un blocco di memoria.

void *allocate(std::size_t count);

Parametri

contare
Numero di elementi della matrice da allocare.

Valore restituito

Puntatore all'oggetto allocato.

Osservazioni:

La funzione membro blocca il mutex, chiama cache.allocate(count), sblocca il mutex e restituisce il risultato della precedente chiamata a cache.allocate(count). cache rappresenta l'oggetto cache corrente.

sync_shared::d eallocate

Libera un numero specificato di oggetti dall'archiviazione iniziando da una posizione specificata.

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

Parametri

ptr
Puntatore al primo oggetto da deallocare dall'archivio.

contare
Numero di oggetti da deallocare dall'archivio.

Osservazioni:

La funzione membro blocca il mutex, chiama cache.deallocate(ptr, count), dove cache rappresenta l'oggetto cache, e quindi sblocca il mutex.

sync_shared::equals

Confronta due cache per stabilirne l'uguaglianza.

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

Parametri

Cache
Tipo di cache associato al filtro di sincronizzazione.

Altro
Cache da confrontare per verificarne l'uguaglianza.

Valore restituito

true se il risultato di cache.equals(Other.cache), dove cache rappresenta l'oggetto cache, è true; in caso contrario, false.

Vedi anche

<allocatori>