美文网首页
Atom in C++11

Atom in C++11

作者: 帆子_8c3a | 来源:发表于2023-07-20 12:39 被阅读0次

Memory ordering

  1. Sequentially consistent ordering :
    memory_order_seq_cst
  2. Acquire-release ordering :
  • memory_order_acquire
  • memory_order_release
  • memory_order_consume
  • memory_order_acq_rel
  1. Relaxed ordering :
  • memory_order_relaxed

memory_order_relaxed 没有fencing作用
memory_order_consume 后面依赖此原子变量的访存指令勿重排至此条指令之前
memory_order_acquire 后面访存指令勿重排至此条指令之前
memory_order_release 前面访存指令勿重排至此条指令之后。当此条指令的结果对其他线程可见后,之前的所有指令都可见
memory_order_acq_rel acquire + release语意
memory_order_seq_cst acq_rel语意外加所有使用seq_cst的指令有严格地全序关系

fence

  • atomic_thread_fence

相关文章

网友评论

      本文标题:Atom in C++11

      本文链接:https://www.haomeiwen.com/subject/uhuipctx.html