Enumerazione memory_order
Fornisce i nomi simbolici per le operazioni di sincronizzazione sulle locazioni di memoria. Queste operazioni influiscono su come gli assegnamenti in un thread diventino 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;
Note
memory_order_relaxed |
Nessun ordine necessario. |
memory_order_consume |
Un'operazione di load funge da un'operazione di consumo sulla locazione di memoria. |
memory_order_acquire |
Un'operazione di load funge da un'operazione di acquisizione sulla locazione di memoria. |
memory_order_release |
Un'operazione di store funge da un'operazione di rilascio sulla locazione 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 consistenti sequenzialmente. |
Requisiti
Intestazione: atomico
Spazio dei nomi: std