Поделиться через


Перечисления <atomic>

Перечисление memory_order

Предоставляет символьные имена для операций синхронизации в областях памяти. Эти операции влияют на то, как присвоения в одном потоке становятся видимыми в другом.

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;

Элементы перечисления

Имя Описание
memory_order_relaxed Упорядочивание не требуется.
memory_order_consume Операция load действует как операция consume в расположении в памяти.
memory_order_acquire Операция load действует как операция cquire в расположении в памяти.
memory_order_release Операция store действует как операция release в расположении в памяти.
memory_order_acq_rel Объединяет memory_order_acquire и memory_order_release.
memory_order_seq_cst Объединяет memory_order_acquire и memory_order_release. Обращения к памяти, которые помечены как memory_order_seq_cst, должны быть последовательно согласованными.

См. также

<atomic>