memory_order Enum
Supplies symbolic names for synchronization operations on memory locations. These operations affect how assignments in one thread become visible in another.
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;
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. |
Requirements
Header: atomic
Namespace: std