DispatcherQueueTimer クラス

定義

時間間隔が経過した後、 DispatcherQueue スレッドでタスクを定期的に実行します。

public ref class DispatcherQueueTimer sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 327680)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class DispatcherQueueTimer final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 327680)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class DispatcherQueueTimer final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 327680)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class DispatcherQueueTimer
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 327680)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class DispatcherQueueTimer
Public NotInheritable Class DispatcherQueueTimer
継承
Object Platform::Object IInspectable DispatcherQueueTimer
属性

Windows の要件

デバイス ファミリ
Windows 10 Fall Creators Update (10.0.16299.0 で導入)
API contract
Windows.Foundation.UniversalApiContract (v5.0 で導入)

public void ConfigureRepeatingTimer()
{
    _queueController = DispatcherQueueController.CreateOnDedicatedThread();
    _queue = _queueController.DispatcherQueue;

    _repeatingTimer = _queue.CreateTimer ();
    _repeatingTimer.Interval = TimeSpan.FromSeconds(5);

    // The tick handler will be invoked repeatedly after every 5
    // seconds on the dedicated thread.
    _repeatingTimer.Tick += (s, e) =>
    {
        DoWork();
    };

    // Start the Timer
    _repeatingTimer.Start();
}

private DispatcherQueue _queue;
private DispatcherQueueController _queueController;
private DispatcherQueueTimer _repeatingTimer;

注釈

システムは、指定された期間が経過した後にのみイベント ハンドラーを呼び出すように保証します。 ただし、キューに他の保留中の作業項目がある場合は、ティック ハンドラーが呼び出されるまでに多少の遅延が発生する可能性があります。

タイマー タスクは、アイドルよりも低い優先度で実行されます。

タイマーは DispatcherQueue イベント ループを維持しません。 DispatcherQueue イベント ループが停止した後に作成されたタイマーは処理されません。

プロパティ

Interval

タイマーの間隔を取得および設定します。

IsRepeating

タイマーが繰り返し実行されているかどうかを示します。

IsRunning

タイマーが現在実行されているかどうかを示します。

メソッド

Start()

タイマーを起動します。

Stop()

タイマーを停止します。

イベント

Tick

タイマー 間隔 が経過したときに発生するイベント。

適用対象