我有一个关于锁的简单问题。 Process1和Process2是否相同,因为它们最终锁定了LongProcess? 谢谢。锁定相同功能的多个锁C#.Net
private static readonly object _Locker = new object();
public void Process1()
{
lock(_LockerA){
LongProcess()
}
}
public void Process2()
{
if(curType == A)
ProcessTypeA();
else if(curtype == B)
ProcessTypeB();
}
private static readonly object _LockerA = new object();
public void ProcessTypeA()
{
lock(_LockerA){
LongProcess()
}
}
private static readonly object _LockerB = new object();
public void ProcessTypeB()
{
lock(_LockerB){
LongProcess()
}
}
public void LongProcess()
{
}
所以我可以说,进程2不同类型的将同时从不同的实例,但内处理一次只能处理同一种类型的数据。谢谢。 – Dreteh 2012-03-20 04:23:08
我已经稍微更新了我的答案,将锁对象称为对象。它与类型无关,而不是用于对锁的实例。 – 2012-03-20 04:27:20