Partilhar via


Enum memory_order

Fornece nomes simbólicos para operações de sincronização em locais de memória. Essas operações afetam como as atribuições em um thread se tornam visíveis em outro.

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;

Comentários

memory_order_relaxed

Nenhum ordem é necessária.

memory_order_consume

Uma operação de carregamento atua como uma operação de consumo no local da memória.

memory_order_acquire

Uma operação de carregamento atua como uma operação de aquisição no local da memória.

memory_order_release

Uma operação de armazenamento atua como operação de liberação no local da memória.

memory_order_acq_rel

Combina memory_order_acquire e memory_order_release.

memory_order_seq_cst

Combina memory_order_acquire e memory_order_release. Os acessos de memória que são marcados como memory_order_seq_cst devem ser sequencialmente consistentes.

Requisitos

Cabeçalho: atômico

std de Namespace:

Consulte também

Referência

<atomic>