<atomic> 枚举

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_acquirememory_order_release 结合。
memory_order_seq_cst memory_order_acquirememory_order_release 结合。 标记为 memory_order_seq_cst 的内存访问必须顺序一致。

另请参阅

<atomic>