以下代码是否会在.NET上使用C#导致死锁?
 class MyClass
 {
    private object lockObj = new object();
    public void Foo()
    {
        lock(lockObj)
        { 
             Bar();
        }
    }
    public void Bar()
    {
        lock(lockObj)
        { 
          // Do something 
        }
    }       
 }
我正在学习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"); }
}
我想知道什么时候需要使用嵌套锁定?在这种情况下为什么不只使用一个锁?