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

加载操作,执行内存位置的 get 操作。

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 的内存存取必须按顺序一致。

要求

**标头:**原子

命名空间: std

请参见

参考

<atomic>