Sprache

DispatchSource.Timer Klasse

Definition

Quellen dieses Typs rufen in regelmäßigen Abständen den Ereignishandler in der Zielwarteschlange auf.

public class DispatchSource.Timer : CoreFoundation.DispatchSource
type DispatchSource.Timer = class
    inherit DispatchSource
Vererbung

Hinweise

Die Zeitgeberparameter werden mit der funktion dispatch_source_set_timer() konfiguriert. Sobald diese Funktion zurückgegeben wird, wurden alle ausstehenden Quelldaten, die für die vorherigen Timerparameter gesammelt wurden, gelöscht. das nächste Auslösen des Timers erfolgt zu Beginn, und jedes Intervall nanosekunden danach, bis die Zeitgeberquelle abgebrochen wird.

Jedes Feuer des Timers kann vom System verzögert werden, um den Stromverbrauch und die Systemleistung zu verbessern. Die obere Grenze für die zulässige Verzögerung kann mit dem Leeway-Argument konfiguriert werden, die untere Grenze liegt unter der Kontrolle des Systems.

Für das anfängliche Timerfeuer am Anfang wird die obere Grenze für die zulässige Verzögerung auf Leeway-Nanosekunden festgelegt. Für die nachfolgenden Timer fires at start + N * interval, the upper limit is MIN(leeway, interval / 2 ).

Der untere Grenzwert für die zulässige Verzögerung kann je nach Prozesszustand variieren, z. B. die Sichtbarkeit der Anwendungsbenutzeroberfläche. Wenn die angegebene Zeitgeberquelle mit einem Konstruktor erstellt wurde, der "strict" auf "true" festlegt, versucht das System, den bereitgestellten Leewaywert streng zu beobachten, auch wenn er kleiner als der aktuelle untere Grenzwert ist. Beachten Sie, dass eine minimale Verzögerung auch dann zu erwarten ist, wenn dieses Flag angegeben ist.

var dispatchSource = new DispatchSource.Timer (strict: true, queue: DispatchQueue.MainQueue);

long delay = 2000000000;
long leeway = 5000000000;
dispatchSource.SetTimer (DispatchTime.Now, delay, leeway);

dispatchSource.SetRegistrationHandler (() => {
    Console.WriteLine ("Timer registered");
});

dispatchSource.SetEventHandler (() => {
Console.WriteLine ("Timer tick");
});

dispatchSource.SetCancelHandler (() => {
Console.WriteLine ("Timer stopped");
});

dispatchSource.Resume ();

Konstruktoren

Name Beschreibung
DispatchSource.Timer(Boolean, DispatchQueue)

Quellen dieses Typs rufen in regelmäßigen Abständen den Ereignishandler in der Zielwarteschlange auf.

DispatchSource.Timer(DispatchQueue)

Erstellt eine Zeitgeber-Verteilerquelle, die in regelmäßigen Intervallen aufgerufen wird.

DispatchSource.Timer(IntPtr, Boolean)

Quellen dieses Typs rufen in regelmäßigen Abständen den Ereignishandler in der Zielwarteschlange auf.

DispatchSource.Timer(IntPtr)

Quellen dieses Typs rufen in regelmäßigen Abständen den Ereignishandler in der Zielwarteschlange auf.

Eigenschaften

Name Beschreibung
Handle

Quellen dieses Typs rufen in regelmäßigen Abständen den Ereignishandler in der Zielwarteschlange auf.

(Geerbt von DisposableObject)
IsCanceled

Ermitteln Sie, ob die angegebene Quelle abgebrochen wurde.

(Geerbt von DispatchSource)
Owns

Quellen dieses Typs rufen in regelmäßigen Abständen den Ereignishandler in der Zielwarteschlange auf.

(Geerbt von DisposableObject)
TimerFiredCount

Häufigkeit, mit der der Timer seit dem letzten Aufruf des Ereignishandlers ausgelöst wurde

Methoden

Name Beschreibung
Activate()

Quellen dieses Typs rufen in regelmäßigen Abständen den Ereignishandler in der Zielwarteschlange auf.

(Geerbt von DispatchObject)
Cancel()

Bricht die Verteilerquelle asynchron ab.

(Geerbt von DispatchSource)
ClearHandle()

Quellen dieses Typs rufen in regelmäßigen Abständen den Ereignishandler in der Zielwarteschlange auf.

(Geerbt von DisposableObject)
Dispose()

Gibt alle von diesem Objekt verwendeten Ressourcen frei.

(Geerbt von DisposableObject)
Dispose(Boolean)

Gibt die vom DispatchSource-Objekt verwendeten Ressourcen frei.

(Geerbt von DispatchSource)
Equals(Object)

Quellen dieses Typs rufen in regelmäßigen Abständen den Ereignishandler in der Zielwarteschlange auf.

(Geerbt von DisposableObject)
GetCheckedHandle()

Quellen dieses Typs rufen in regelmäßigen Abständen den Ereignishandler in der Zielwarteschlange auf.

(Geerbt von DisposableObject)
GetHashCode()

Quellen dieses Typs rufen in regelmäßigen Abständen den Ereignishandler in der Zielwarteschlange auf.

(Geerbt von DisposableObject)
InitializeHandle(NativeHandle)

Quellen dieses Typs rufen in regelmäßigen Abständen den Ereignishandler in der Zielwarteschlange auf.

(Geerbt von DisposableObject)
Release()

Quellen dieses Typs rufen in regelmäßigen Abständen den Ereignishandler in der Zielwarteschlange auf.

(Geerbt von DispatchObject)
Resume()

Setzt die Verteilerquelle fort.

(Geerbt von DispatchSource)
Retain()

Quellen dieses Typs rufen in regelmäßigen Abständen den Ereignishandler in der Zielwarteschlange auf.

(Geerbt von DispatchObject)
SetCancelHandler(Action)

Stellt einen Abbruchhandler bereit.

(Geerbt von DispatchSource)
SetEventHandler(Action)

Es wurde ein Handler angegeben, der ausgeführt werden soll, wenn Ereignisse in der Verteilerquelle empfangen werden.

(Geerbt von DispatchSource)
SetRegistrationHandler(Action)

Stellt einen Registrierungshandler bereit.

(Geerbt von DispatchSource)
SetTargetQueue(DispatchQueue)

Quellen dieses Typs rufen in regelmäßigen Abständen den Ereignishandler in der Zielwarteschlange auf.

(Geerbt von DispatchObject)
SetTimer(DispatchTime, Int64, Int64)

Konfiguriert die Paramters für den Timer.

Suspend()

Hält die Verteilerquelle an.

(Geerbt von DispatchSource)

Erweiterungsmethoden

Name Beschreibung
GetHandle(INativeObject)

Quellen dieses Typs rufen in regelmäßigen Abständen den Ereignishandler in der Zielwarteschlange auf.

GetNonNullHandle(INativeObject, String)

Quellen dieses Typs rufen in regelmäßigen Abständen den Ereignishandler in der Zielwarteschlange auf.

Gilt für: