我的问题是,如果我在两个单独的方法中有两条关键路径,那么第二种方法中的锁是否尊重第一种方法中的锁?
作为下面的虚拟代码中的示例,如果method1
线程 Amethod2
调用并由线程 B 调用,线程 B 是否在进入关键路径之前等待线程 A 释放锁method2
?
private static readonly object mylock = new object();
public void method1()
{
lock(mylock)
{
// critical path 1
}
}
public void method2()
{
lock(mylock)
{
// critical path 2
}
}