タイマーイベントハンドラーでインクリメントされ、メインおよび他のワーカースレッド、つまり1つのライタースレッドと複数のリーダースレッドによって読み取られる整数をインクリメントしたいと考えています。それはスレッドセーフになりますか?
アプリケーションに 5 秒ごとに実行されるタイマーがあります
MyClock = new System.Threading.Timer( new TimerCallback(this.Ticker), null, Timeout.Infinite, Timeout.Infinite );
この MyClock.Change( 5000, 5000 ); のようにオンにします。
この tickerCounter++ のように、ティッカー ハンドラーで整数をインクリメントするとします。
その後、同じアプリケーションのメイン スレッドまたはワーカー スレッドから読み取り専用アクセスを行うことはできますか? スレッドセーフになりますか?読者が部分的な値を読み取る可能性はありますか? またはスレッド例外を引き起こしていますか?