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