ストアはリリース操作であり、ロードは両方の操作を取得します。私はmemory_order_seq_cst
がすべての操作のために追加の合計発注を課すことを意図していることを知っていますが、memory_order_seq_cst
がすべてmemory_order_acq_rel
に置き換えられていない場合の例を作るのに失敗しています。memory_order_seq_cstとmemory_order_acq_relはどのように異なるのですか?
私は何かが間違っているか、その違いは単なるドキュメントエフェクトです。つまり、よりリラックスしたモデルで再生しない場合はmemory_order_seq_cst
を使用し、リラックスしたモデルを制限する場合はmemory_order_acq_rel
を使用します。
なぜ 'x = true; y = true; c(); d()'はできないのですか?それは0になるはずです。また、なぜ私は結果として2をたくさん得ているのかわかりません。 –
@ acidzombie24、その場合でも、 'z'は2になります。 – MSN
コードが誤っています。それは今、完璧な意味があります –