Partager via


enum du memory_order

Fournit des noms symboliques pour les opérations de synchronisation dans des emplacements de mémoire.Ces opérations affectent la façon dont les assignations dans un thread sont visibles dans un autre.

typedef enum memory_order {
   memory_order_relaxed,
   memory_order_consume,
   memory_order_acquire,
   memory_order_release,
   memory_order_acq_rel,
   memory_order_seq_cst,
} memory_order;

Notes

memory_order_relaxed

Aucun classement requis.

memory_order_consume

Une opération de chargement agit en tant qu'opération de consommer sur l'emplacement de mémoire.

memory_order_acquire

Une opération de chargement agit en tant qu'opération d'acquérir sur l'emplacement de mémoire.

memory_order_release

Une opération de le magasin agit en tant qu'opération de version release sur l'emplacement de mémoire.

memory_order_acq_rel

Combine memory_order_acquire et memory_order_release.

memory_order_seq_cst

Combine memory_order_acquire et memory_order_release.Accès à la mémoire qui sont marqués comme memory_order_seq_cst doit être séquentiellement cohérent.

Configuration requise

en-tête : atomique

l'espace de noms : type

Voir aussi

Référence

<atomic>