TimeProvider.CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
public:
virtual System::Threading::ITimer ^ CreateTimer(System::Threading::TimerCallback ^ callback, System::Object ^ state, TimeSpan dueTime, TimeSpan period);
public virtual System.Threading.ITimer CreateTimer (System.Threading.TimerCallback callback, object? state, TimeSpan dueTime, TimeSpan period);
abstract member CreateTimer : System.Threading.TimerCallback * obj * TimeSpan * TimeSpan -> System.Threading.ITimer
override this.CreateTimer : System.Threading.TimerCallback * obj * TimeSpan * TimeSpan -> System.Threading.ITimer
Public Overridable Function CreateTimer (callback As TimerCallback, state As Object, dueTime As TimeSpan, period As TimeSpan) As ITimer
パラメーター
- callback
- TimerCallback
タイマーが起動したときに実行されるメソッドを表すデリゲート。 コールバックに指定されたメソッドは再入可能である必要があります。これは、前のコールバックがまだ処理される前または処理中にタイマーが再び起動した場合に、2 つのスレッドで同時に呼び出される可能性があるためです。
- state
- Object
callback
に渡されるオブジェクト。 これは null である可能性があります。
- dueTime
- TimeSpan
callback
が呼び出されるまでの遅延時間。 タイマーが開始されないようにするには、InfiniteTimeSpan を指定します。 タイマーをすぐに開始する Zero を指定します。
- period
- TimeSpan
callback
の呼び出し間の時間間隔。 定期的なシグナリングを無効にする InfiniteTimeSpan を指定します。
戻り値
新しく作成された ITimer インスタンス。
例外
callback
は null です。
注釈
コールバック パラメーターで指定されたデリゲートは、dueTime
が経過した後、その後、period
の時間間隔が経過するたびに 1 回呼び出されます。
dueTime
が 0 の場合、コールバックはすぐに呼び出されます。
dueTime
が -1 ミリ秒の場合、callback
は呼び出されません。タイマーは無効になっていますが、Change(TimeSpan, TimeSpan) メソッドを呼び出すことによって再度有効にすることができます。
period
が 0 または -1 ミリ秒で、dueTime
が正の場合、callback
は 1 回呼び出されます。タイマーの定期的な動作は無効になっていますが、Change(TimeSpan, TimeSpan) メソッドを使用して再度有効にすることができます。
タイマーがまだスケジュールされている間、戻り ITimer インスタンスは暗黙的にルート化されます。
CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) は、ExecutionContext をキャプチャし、呼び出されるたびに callback
を呼び出すときに使用する ITimer を格納します。 そのキャプチャは、SuppressFlow()で抑制できます。
適用対象
.NET