3

関数を繰り返し呼び出す System.Timers タイマーを使用する C# アプリケーションがあります。問題は、ワークロードによっては、関数呼び出しからの処理が特定の CPU 使用率 (98 ~ 100%) に達すると、後続のイベントがブロックされることです。

イベントがブロックされないように、このようなシナリオを防ぐ方法はありますか?

たとえば、タイマーのイベント ハンドラーは動的コードを実行する関数であり、処理に時間とリソースがかかる場合があります。このような処理中にブール値が true に設定され、後続のイベント呼び出しがログ ファイルに書き込まれます。ただし、イベントの処理で CPU 使用率が高くなると、それ以上のイベントはログ ファイルに書き込まれません。

4

1 に答える 1

0

はい、Timers プロパティの AutoReset を true に設定します。

読む: https://msdn.microsoft.com/en-us/library/system.timers.timer(v=vs.110).aspx

于 2015-04-22T20:41:01.920 に答える