1. 首页
  2. 数据库
  3. 其它
  4. 深入多线程之:深入分析Interlocked

深入多线程之:深入分析Interlocked

上传者: 2020-12-31 14:23:55上传 PDF文件 52.64KB 热度 9次
在大多数计算机上,增加变量操作不是一个原子操作,需要执行下列步骤: 一:将实例变量中的值加载到寄存器中。 二:增加或减少该值。 三:在实例变量中存储该值。 在多线程环境下,线程会在执行完前两个步骤后被抢先。然后由另一个线程执行所有三个步骤,当第一个线程重新开始执行时,它覆盖实例变量中的值,造成第二个线程执行增减操作的结果丢失。 Interlocked可以为多个线程共享的变量提供原子操作。 Interlocked.Increment:以原子操作的形式递增指定变量的值并存储结果。 Interlocked.Decrement以原子操作的形式递减
用户评论