extern "C" void atomic_thread_fence (memory_order sync) noexcept;
enum
type memory_order:value | memory order | description |
---|---|---|
memory_order_relaxed | Relaxed | The call has no effects. |
memory_order_consume | Consume | Sets up an acquire fence: Synchronizes all visible side effects from the last release or sequentially consistent operation. |
memory_order_acquire | Acquire | |
memory_order_release | Release | Sets up a release fence: Synchronizes side effects with the next acquire operation. |
memory_order_acq_rel | Acquire/Release | Sets up a fence that is both an acquire fence and a release fence: Synchronizes all visible side effects from the last release or sequentially consistent operation and with the next acquire operation. |
memory_order_seq_cst | Sequentially consistent | Sets up a sequentially consistent acquire and release fence: Synchronizes all visible side effects with the other sequentially consistent operations, following a single total order. |