Перечисления <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 , должны быть последовательно согласованными. |