コンテンツへスキップ
uencoder

Atomic Operation

アトミック操作は分割不可能な形で実行され、並行する観察者には中断されない一貫した姿で観測される。ロックなしで簡素な並行安全性を実現する。

目的

ロックフリーの並行処理プリミティブであり、ロックより軽量で、カウンタやフラグの実装に使われる。

メカニズム

ハードウェアが CAS(compare-and-swap)プリミティブを提供し、比較と交換をアトミックに実行する。これに続いてアトミックなインクリメント、デクリメント、フラグ操作が成り立つ。メモリオーダリングが可視性を制御する(acquire/release/seq_cst)。ロックより低コストだが、単純な操作にしか向かない。

ユースケース

  • ロックフリー並行処理
  • カウンタ
  • CAS(比較と交換)

References