Enumerazioni <atomic>
Enumerazione memory_order
Fornisce nomi simbolici per le operazioni di sincronizzazione sulle posizioni di memoria. Queste operazioni influiscono sul modo in cui gli assegnamenti in un thread diventano visibili in un altro.
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;
Membri di enumerazione
Nome | Descrizione |
---|---|
memory_order_relaxed |
Nessun ordinamento necessario. |
memory_order_consume |
Un'operazione di caricamento funge da operazione di utilizzo sulla posizione di memoria. |
memory_order_acquire |
Un'operazione di caricamento funge da operazione di acquisizione sulla posizione di memoria. |
memory_order_release |
Un'operazione di archiviazione funge da operazione di rilascio sulla posizione di memoria. |
memory_order_acq_rel |
Combina memory_order_acquire e memory_order_release . |
memory_order_seq_cst |
Combina memory_order_acquire e memory_order_release . Gli accessi alla memoria contrassegnati come memory_order_seq_cst devono essere coerenti sequenzialmente. |