ゴルーチン レッスン5
atomic
sync/atomicパッケージによるロックフリーのアトミック操作を学びます。
アトミック操作とは
sync/atomic パッケージは、ロックなしでスレッドセーフな操作を提供します。 Mutexより軽量ですが、単純な数値操作に限られます。
Goエディタ
Load・Store操作
atomic.LoadInt64 で安全に読み取り、atomic.StoreInt64 で安全に書き込みます。 通常の代入や読み取りとは異なり、他のゴルーチンとの整合性が保証されます。
Goエディタ
CompareAndSwap (CAS)
CompareAndSwapInt64 は現在の値が期待値と一致する場合のみ 新しい値に更新します。ロックフリーアルゴリズムの基盤です。
Goエディタ