internal static void ExecuteCommand(NLO nlo)
{
switch (nlo.action)
{
//synchronize each method in case
case (NLO.Actions.SET):
swSet(nlo);
break;
case (NLO.Actions.ADD):
swAdd(nlo);
break;
default:
throw new System.Exception("Error");
//break;
}
return;
}
我想锁定每个方法swSet
并且swAdd
能够并行运行,但锁定swSet
不能与自身并发运行,并且对于swAdd
最简单的方法是在每种情况下加锁还是在方法本身或方法上加锁[MethodImpl(MethodImplOptions.Synchronized)]
?
最后一个解决方案会锁定所有方法吗?