私はシングルトンオブジェクトを持ち、そこに辞書が定義されています。シングルトンオブジェクト内の辞書オブジェクトにアクセスする複数のタイマー
ここでは、MyDictionaryを更新するSystem.Timers.Timerオブジェクトが2つあります。
System.Timers.Timer timer1 = new System.Timers.Timer(5);
timer1.AutoReset = false;
timer1.Elapsed += new System.Timers.ElapsedEventHandler(MyTimer1Handler);
timer1.Enabled = true;
timer1.Start();
System.Timers.Timer timer2 = new System.Timers.Timer(5);
timer2.AutoReset = false;
timer2.Elapsed += new System.Timers.ElapsedEventHandler(MyTimer2Handler);
timer2.Enabled = true;
timer2.Start();
private void MyTimer1Handler(object sender, ElapsedEventArgs e)
{
MyClass.Instance.MyDictonary[1] = 100;
}
private void MyTimer1Handler(object sender, ElapsedEventArgs e)
{
MyClass.Instance.MyDictonary[2] = 100;
}
私の質問は、タイマーの経過イベントハンドラを考慮すると、今で指数1とMyDictionaryのインデックス2に一意に動作し、私はMyDictionary上の任意のロックが必要なのでしょうか?
Splendid。私はConcurrentDictionaryが好きです。どうもありがとう。 – user977606