天天看點

C#【Thread】Interlocked 輕量級鎖

什麼說它是輕量級呢?因為它僅對整形資料(即int類型,long也行)進行同步。

具體使用如下表:

Interlocked.Increment(ref value)

數值加一(原子性操作)

Interlocked.Decrement(ref value)

數值減一(原子性操作)

Interlocked.Exchange(ref value1, value2)

交換:把值2賦給值1;傳回新值

Interlocked.CompareExchange(ref value1, value2, value3)

實作比較和交換兩種功能:值1和值3比較,如果相同,把值2給值1,不相同則不作任何操作;傳回原值(多用于判斷條件)(示例3中會用到)