DispatcherQueueTimer Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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. |