相关疑难解决方法(0)

易失性与联锁对抗锁定

假设一个类有一个public int counter由多个线程访问的字段.这int只是递增或递减.

要增加此字段,应使用哪种方法,为什么?

  • lock(this.locker) this.counter++;,
  • Interlocked.Increment(ref this.counter);,
  • 将访问修饰符更改counterpublic volatile.

现在,我发现volatile,我已经删除了许多lock语句和使用Interlocked.但是有理由不这样做吗?

c# multithreading locking volatile interlocked

647
推荐指数
8
解决办法
13万
查看次数

多个 CPU 可以同时写入同一个 RAM 位置吗?

机器字大小(或更小)写入序列化了吗?只需一个本机操作码即可将寄存器内容复制到 RAM。

architecture memory cpu synchronization

4
推荐指数
1
解决办法
2019
查看次数