Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The latest version of this topic can be found at <atomic> enums.
memory_order Enum
memory_order Enum
Supplies symbolic names for synchronization operations on memory locations. These operations affect how assignments in one thread become visible in another.
enum class memory_order {
memory_order_relaxed,
memory_order_consume,
memory_order_acquire,
memory_order_release,
memory_order_acq_rel,
memory_order_seq_cst,
} memory_order;
Remarks
memory_order_relaxed |
No ordering required. |
memory_order_consume |
A load operation acts as a consume operation on the memory location. |
memory_order_acquire |
A load operation acts as an acquire operation on the memory location. |
memory_order_release |
A store operation acts as a release operation on the memory location. |
memory_order_acq_rel |
Combines memory_order_acquire and memory_order_release. |
memory_order_seq_cst |
Combines memory_order_acquire and memory_order_release. Memory accesses that are marked as memory_order_seq_cst must be sequentially consistent. |