extern "C" void atomic_signal_fence (memory_order sync) noexcept;
值 | 内存顺序 (memory order) | 描述 |
---|---|---|
memory_order_relaxed | 宽松 (Relaxed) | 调用没有其他影响。 |
memory_order_consume | 消费 (Consume) | 建立一个 acquire 信号栅 对指令进行排序,使其相对于同一线程中的上一个 release 或 sequentially consistent 操作。 |
memory_order_acquire | 获取 (Acquire) | |
memory_order_release | 释放 (Release) | 建立一个 release 信号栅 对指令进行排序,使其相对于同一线程中的下一个 acquire 操作。 |
memory_order_acq_rel | 获取/释放 (Acquire/Release) | 建立一个既是 acquire 栅 又是 release 栅 的信号栅。 所有指令相对于同一线程中的上一个 release 或 sequentially consistent 操作以及下一个 acquire 操作进行排序。 |
memory_order_seq_cst | 顺序一致 (Sequentially consistent) | 建立一个 顺序一致的获取和释放 信号栅。 所有指令相对于同一线程中的其他 sequentially consistent 操作进行排序。 |