Atomic Operation
アトミック操作は分割不可能な形で実行され、並行する観察者には中断されない一貫した姿で観測される。ロックなしで簡素な並行安全性を実現する。
目的
ロックフリーの並行処理プリミティブであり、ロックより軽量で、カウンタやフラグの実装に使われる。
メカニズム
ハードウェアが CAS(compare-and-swap)プリミティブを提供し、比較と交換をアトミックに実行する。これに続いてアトミックなインクリメント、デクリメント、フラグ操作が成り立つ。メモリオーダリングが可視性を制御する(acquire/release/seq_cst)。ロックより低コストだが、単純な操作にしか向かない。
ユースケース
- ロックフリー並行処理
- カウンタ
- CAS(比較と交換)