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.