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)]
ますか?
最後の解決策はすべてのメソッドをロックしますか?