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


Перечисление 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

Операция загрузки действует как операция потребления в области памяти.

memory_order_acquire

Операция загрузки действует как операция получение в области памяти.

memory_order_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

Пространство имен: std

См. также

Ссылки

<atomic>