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

时间:2019-07-06 19:18:32   收藏:0   阅读:397

一、概念

  在多线程环境中,不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间不会有任何 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++;}

原文:https://www.cnblogs.com/yaosj/p/11143607.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!