Partager via


sync_per_thread, classe

Décrit un filtre de synchronisation qui fournit un objet cache distinct pour chaque thread.

Syntaxe

template <class Cache>
class sync_per_thread

Paramètres

Cache
Type de cache associé au filtre de synchronisation. Il peut s’agir de cache_chunklist, cache_freelist ou cache_suballoc.

Notes

Les allocateurs qui utilisent sync_per_thread peuvent être considérés comme égaux même si des blocs alloués dans un thread ne peuvent pas être désalloués à partir d’un autre thread. Quand un de ces allocateurs est utilisé, les blocs de mémoire alloués dans un thread ne doivent pas être visibles pour d’autres threads. Dans la pratique, cela signifie qu’un conteneur qui utilise un de ces allocateurs doit uniquement être accessible par un seul thread.

Fonctions Membre

Fonction membre Description
allocate Alloue un bloc de mémoire.
deallocate Libère du stockage un nombre d'objets spécifié à partir d'une position spécifiée.
equals Compare l'égalité de deux caches.

Spécifications

Header :<allocators>

Espace de noms : stdext

sync_per_thread ::allocate

Alloue un bloc de mémoire.

void *allocate(std::size_t count);

Paramètres

count
Nombre d’éléments du tableau à allouer.

Notes

La fonction membre retourne le résultat d’un appel à cache::allocate(count) sur l’objet cache appartenant au thread actuel. Si aucun objet cache n’a été alloué pour le thread actuel, elle commence par en allouer un.

sync_per_thread ::d allocation

Libère du stockage un nombre d'objets spécifié à partir d'une position spécifiée.

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

Paramètres

ptr
Pointeur vers le premier objet à désallouer dans le stockage.

count
Nombre d’objets à désallouer dans le stockage.

Notes

La fonction membre appelle deallocate sur l’objet cache appartenant au thread actuel. Si aucun objet cache n’a été alloué pour le thread actuel, elle commence par en allouer un.

sync_per_thread ::equals

Compare l'égalité de deux caches.

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

Paramètres

Cache
L’objet cache du filtre de synchronisation.

Other
Objet cache dont l’égalité est à comparer.

Valeur de retour

false si aucun objet de cache n’a été alloué pour cet objet ou pour Other dans le thread actuel. Sinon, elle retourne le résultat de l’application de operator== aux deux objets caches.

Notes

Voir aussi

<allocators>