我有一個關於鎖的簡單問題。 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