C#原子操作(Interlocked.Decrement和Interlocked.Increment)


一、概念

  在多線程環境中,不會被線程調度機制打斷的操作;這種操作一旦開始,就一直運行到結束,中間不會有任何 context switch (切換到另一個線程)。

二、類

  System.Threading.Interlocked 靜態類

三、常用函數(其他的自己看吧)

1.public static int Decrement(ref int location); //以原子操作的形式遞減指定變量的值並存儲結果

相當於 lock(obj){i--;}

2.public static int Increment(ref int location); //以原子操作的形式遞增指定變量的值並存儲結果

相當於 lock(obj){i++;}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM