我有一个私有静态字段,我用它来进行同步(锁定).现在我有两个函数,我不想同时执行.所以我这样做了:
public class Synchronization
{
private static object _lock = new object();
public void MethodA()
{
lock (_lock)
{
Console.WriteLine("I shouldn't execute with MethodB");
}
}
public void MethodB()
{
lock (_lock)
{
Console.WriteLine("I shouldn't execute with MethodA");
}
}
}
Run Code Online (Sandbox Code Playgroud)
我知道锁定一个对象会阻止单个函数的并行执行,但如果我在同时运行的不同方法中使用相同的锁对象,那么同样的工作吗?简单地说,put可以任何其他线程获取锁定另一个函数中已经锁定的对象吗?