Freigeben über


DispatcherQueueTimer Klasse

Definition

Führt in regelmäßigen Abständen einen Task in einem DispatcherQueue-Thread aus, nachdem ein Zeitintervall abgelaufen ist.

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
Vererbung
Object Platform::Object IInspectable DispatcherQueueTimer
Attribute

Windows-Anforderungen

Gerätefamilie
Windows 10 Fall Creators Update (eingeführt in 10.0.16299.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v5.0)

Beispiele

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;

Hinweise

Das System garantiert, dass der Ereignishandler erst nach Ablauf der angegebenen Dauer aufgerufen wird. Es kann jedoch zu einer gewissen Verzögerung kommen, bevor der Tick-Handler aufgerufen wird, wenn andere ausstehende Arbeitselemente in der Warteschlange vorhanden sind.

Timeraufgaben werden mit einer Priorität ausgeführt, die niedriger ist als im Leerlauf.

Timer halten die DispatcherQueue-Ereignisschleife nicht am Leben. Timer, die nach dem Beenden der DispatcherQueue-Ereignisschleife erstellt wurden, werden nicht verarbeitet.

Eigenschaften

Interval

Ruft das Intervall für den Timer ab und legt es fest.

IsRepeating

Gibt an, ob sich der Timer wiederholt.

IsRunning

Gibt an, ob der Timer derzeit ausgeführt wird.

Methoden

Start()

Startet den Timer.

Stop()

Hält den Timer an.

Ereignisse

Tick

Ereignis, das ausgelöst wird, wenn das Timerintervall verstrichen ist.

Gilt für: