アトミック命令
CPUの命令セットが提供する,
アトミック処理
であることが保証されている命令のこと.
たとえば
Intel x86
なら単一のレジスタの内容を他のレジスタにコピーする
mov
命令はアトミック.
だが,
mov
と
cmp
は二命令からなるのでアトミックではない.
この二つをアトミックに実行できなければ,複数スレッド間での排他を行うのが難しい.(できるけど)
そこで,これを一命令で行う
Compare and Swap(CAS)
という命令が提供されている.
によれば,Compare and Swapがなければ
Wait-free
アルゴリズムは作れないらしい.まあ,そういう気はする