我有一些如下所示的代码。这会造成僵局吗?

private readonly object objectLock = new object();

public void MethodA()
{
    lock(objectLock)
    {
       MethodB();
    }
}

public void MethodB()
{
    lock(objectLock)
    {
      //do something
    }
}

更新: 将有 2 个线程正在运行

最佳答案

不,这不是僵局。它的同一个线程锁定在同一个同步对象上。线程可以使用嵌套锁。它只需要释放它等于没有。次。

10-06 09:45