Condividi tramite


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

Vedere anche

Riferimenti

<atomic>