C++11のmemory_orderの使い分け (1)

C++11で高速な同期手法としてアトミック変数やメモリフェンス(普通はメモリバリアと呼ぶ)が追加されました。 これらの命令では memory_order を指定できるのですが、違いが分かりづらいのでまとめてみました。 なお、正確な名前はmemory_order_relaxed、memory_order_acquire、memory_order_release、memory_order_consu…