住人タイプBなりに色々調べてるんだが、間違いがあったら指摘してほしい

32bitOSだろうが64bitOSだろうが、4byte以下の変数はアトミック変数で、それより大きな変数はアトミックでない
C言語の場合、更新処理を行う場合、Interlocked系の関数を使用する

WinBase.hをのぞいてみると、
32bit環境でのInterlockedIncrement64等は、InterlockedCompareExchange64によるスピン実装されている
32bit用のInterlockedAnd等は実装されていない?

ターゲットIA64以外では、次のように定義されている
#define InterlockedIncrementAcquire InterlockedIncrement
#define InterlockedIncrementRelease InterlockedIncrement
つまり、InterlockedIncrementはAcquireの機能もReleaseの機能も持つ?

何言ってんだかわからなくなってきた
32bitで論理演算をアトミックにやる方法はないのか?
Interlocked系以外でメモリバリアっぽいことする方法がわからん
さらにWinBaseを調べてたらInterlockedPopEntrySListなるものを発見
これがお前らがずっと言ってたLock-Free Queueってやつか!?

もうちょっと調べてみるか