并发:为什么双重检查锁定被认为是反模式?

时间:2019-02-20 09:00:45

标签: c# multithreading concurrency locking

在C#和其他高级编程语言中,减少写回和资源争用的“测试和测试并设置”算法似乎被视为反模式,但是为什么会这样呢?

我无法理解如下代码段的错误之处:

private static object _objLock = new object();

...

if (condition) {
 lock (_objLock) {
   if (condition) {
      // Work on the shared resource.
    }
  }
}

0 个答案:

没有答案