System.Threading.Timer
コールバック メソッドで停止するにはどうすればよいですか。を参照MSDN
しましたが、有用なものが見つかりませんでした。助けてください。
30776 次
6 に答える
15
まず、コールバック メソッドはタイマー インスタンスをスコープ内に持つ必要があります。
それから簡単な呪文
timerInstance.Change( Timeout.Infinite , Timeout.Infinite ) ;
タイマーをシャットダウンします。状態によっては、タイマーが変更後にもう一度コールバック メソッドを呼び出す可能性があると思います。
于 2012-08-13T16:41:29.537 に答える
4
timer.Change(Timeout.Infinite, Timeout.Infinite);
于 2012-08-13T16:36:10.313 に答える
2
これを試して:
必要に応じて、タイマーにコールバック メソッドの実行を継続させ、以下のコードを含めることができます。
private void CreatorLoop(object state)
{
if (Monitor.TryEnter(lockObject)
{
try
{
// Work here
}
finally
{
Monitor.Exit(lockObject);
}
}
}
このリンクもチェックしてください:
于 2012-08-13T16:38:52.977 に答える
1
を呼び出すだけmyTimer.Change(Timeout.Infinite, Timeout.Infinite)
です。
技術的には、タイマーを停止するには、最初のパラメーター ( dueTime
) のみを指定する必要があります。Timeout.Infinite
詳細については、「Timer.Change メソッド」を参照してください。
于 2012-08-13T16:36:55.807 に答える