为什么我们使用非静态属性来锁定非静态字段?

时间:2017-12-14 16:26:14

标签: c# static locking

在C#中,我们将静态锁与静态字段一起使用,将非静态锁与非静态字段一起使用。为什么它比使用非静态字段的静态锁更好?像这样:

dependencies {
    compileOnly 'xxx.xxx.xxx:xx-xx-xx:1.0'
}

1 个答案:

答案 0 :(得分:3)

不使用带有非静态字段的static锁定的主要原因是,您不会遇到不必要的冲突。如果字段在不同的对象上,那么它们通常可以安全地单独进行变异 - 因此不需要两个线程必须相互阻塞(如果使用static锁定会发生这种情况,并且两个线程是触摸不同的对象。)

就个人而言,我很想使用Interlocked.Increment(ref variable);:)