C#中的嵌套锁定

Ale*_*dre 6 c# multithreading

我正在学习C#中的多线程,我在下面看到了一个代码

static readonly object _locker = new object();

static void Main()
{
  lock (_locker)
  {
     AnotherMethod();
     // ...some work is going on
  }
}

static void AnotherMethod()
{
  lock (_locker) { Console.WriteLine ("Another method"); }
}
Run Code Online (Sandbox Code Playgroud)

我想知道什么时候需要使用嵌套锁定?在这种情况下为什么不只使用一个锁?

Arc*_*rus 4

我的第一反应是 AnotherMethod 可以直接调用,而不是通过 Main 方法,因此您可能需要嵌套锁定。