Anthony Williams によるC++ Concurrency in Actionを読んでいます。セクション「リラックスした順序付けについて」には、次のように記載されています。
「この番号を書き留めて、リストの一番下にあったものを教えてください」(交換)、「一番下の番号がリストのそれはそれです; そうでなければ、私が何を推測すべきだったか教えてください」(compare_exchange_strong) が、それは一般原則には影響しません。
そのような操作は常に変更順序で最後の値を読み取ることを意味しますか (追加のスレッド間が制約の前に発生しない場合)? つまり、キャッシュの更新などがありますか (リラックスした順序であっても)?