DispatchSource.Timer 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.
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. |