宣告為 volatile,CLR 保證讀取永遠為最新值 (禁止指令重排/快取優化)。適用型別:
sbyte, byte, short, ushort, int, uint, char, float, booli = i + 1 非原子 (讀取 → 加一 → 寫入)。多執行緒下易產生競態。
Increment(ref int):原子加一Decrement(ref int):原子減一Exchange(ref int, value):原子交換
int i = 0;
Interlocked.Increment(ref i); // 1
Console.WriteLine(i);
Interlocked.Decrement(ref i); // 0
Console.WriteLine(i);
Interlocked.Exchange(ref i, 100); // 100
Console.WriteLine(i);

lock 開銷,效能極高lock/Monitor