DispatchSource.Timer Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Bronnen van dit type roepen periodiek de gebeurtenis-handler aan in de doelwachtrij.
public class DispatchSource.Timer : CoreFoundation.DispatchSource
type DispatchSource.Timer = class
inherit DispatchSource
- Overname
Opmerkingen
De timerparameters worden geconfigureerd met de functie dispatch_source_set_timer(). Zodra deze functie wordt geretourneerd, zijn alle brongegevens die zijn verzameld voor de vorige timerparameters gewist; de volgende brand van de timer vindt plaats bij het begin en elk interval nanoseconden daarna totdat de timerbron wordt geannuleerd.
Elke brand van de timer kan worden vertraagd door het systeem om het energieverbruik en de systeemprestaties te verbeteren. De bovengrens voor de toegestane vertraging kan worden geconfigureerd met het argument Leeway. De ondergrens valt onder de controle van het systeem.
Voor het starten van de initiële timer wordt de bovengrens ingesteld op de toegestane vertraging op nanoseconden. Voor de volgende timer wordt geactiveerd bij het begin + N * interval, is de bovengrens MIN(leeway, interval / 2).
De ondergrens voor de toegestane vertraging kan variëren met de processtatus, zoals zichtbaarheid van de gebruikersinterface van de toepassing. Als de opgegeven timerbron is gemaakt met een constructor die 'strikt' instelt op true, doet het systeem er alles aan om de opgegeven ruimtewaarde strikt te observeren, zelfs als deze kleiner is dan de huidige ondergrens. Houd er rekening mee dat er een minimale hoeveelheid vertraging moet worden verwacht, zelfs als deze vlag is opgegeven.
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 ();
Constructors
| Naam | Description |
|---|---|
| DispatchSource.Timer(Boolean, DispatchQueue) |
Bronnen van dit type roepen periodiek de gebeurtenis-handler aan in de doelwachtrij. |
| DispatchSource.Timer(DispatchQueue) |
Hiermee maakt u een timer-verzendbron die periodiek wordt aangeroepen. |
| DispatchSource.Timer(IntPtr, Boolean) |
Bronnen van dit type roepen periodiek de gebeurtenis-handler aan in de doelwachtrij. |
| DispatchSource.Timer(IntPtr) |
Bronnen van dit type roepen periodiek de gebeurtenis-handler aan in de doelwachtrij. |
Eigenschappen
| Naam | Description |
|---|---|
| Handle |
Bronnen van dit type roepen periodiek de gebeurtenis-handler aan in de doelwachtrij. (Overgenomen van DisposableObject) |
| IsCanceled |
Bepaal of de opgegeven bron is geannuleerd. (Overgenomen van DispatchSource) |
| Owns |
Bronnen van dit type roepen periodiek de gebeurtenis-handler aan in de doelwachtrij. (Overgenomen van DisposableObject) |
| TimerFiredCount |
Aantal keren dat de timer is geactiveerd sinds de laatste aanroep van de gebeurtenis-handler |
Methoden
| Naam | Description |
|---|---|
| Activate() |
Bronnen van dit type roepen periodiek de gebeurtenis-handler aan in de doelwachtrij. (Overgenomen van DispatchObject) |
| Cancel() |
Asynchroon annuleert de verzendbron. (Overgenomen van DispatchSource) |
| ClearHandle() |
Bronnen van dit type roepen periodiek de gebeurtenis-handler aan in de doelwachtrij. (Overgenomen van DisposableObject) |
| Dispose() |
Alle resources die door dit object worden gebruikt, worden vrijgegeven. (Overgenomen van DisposableObject) |
| Dispose(Boolean) |
Releases van de resources die worden gebruikt door het DispatchSource-object. (Overgenomen van DispatchSource) |
| Equals(Object) |
Bronnen van dit type roepen periodiek de gebeurtenis-handler aan in de doelwachtrij. (Overgenomen van DisposableObject) |
| GetCheckedHandle() |
Bronnen van dit type roepen periodiek de gebeurtenis-handler aan in de doelwachtrij. (Overgenomen van DisposableObject) |
| GetHashCode() |
Bronnen van dit type roepen periodiek de gebeurtenis-handler aan in de doelwachtrij. (Overgenomen van DisposableObject) |
| InitializeHandle(NativeHandle) |
Bronnen van dit type roepen periodiek de gebeurtenis-handler aan in de doelwachtrij. (Overgenomen van DisposableObject) |
| Release() |
Bronnen van dit type roepen periodiek de gebeurtenis-handler aan in de doelwachtrij. (Overgenomen van DispatchObject) |
| Resume() |
De verzendbron wordt hervat. (Overgenomen van DispatchSource) |
| Retain() |
Bronnen van dit type roepen periodiek de gebeurtenis-handler aan in de doelwachtrij. (Overgenomen van DispatchObject) |
| SetCancelHandler(Action) |
Biedt een annuleringshandler (Overgenomen van DispatchSource) |
| SetEventHandler(Action) |
Er is een handler opgegeven die moet worden uitgevoerd wanneer gebeurtenissen worden ontvangen op de verzendbron. (Overgenomen van DispatchSource) |
| SetRegistrationHandler(Action) |
Biedt een registratie-handler (Overgenomen van DispatchSource) |
| SetTargetQueue(DispatchQueue) |
Bronnen van dit type roepen periodiek de gebeurtenis-handler aan in de doelwachtrij. (Overgenomen van DispatchObject) |
| SetTimer(DispatchTime, Int64, Int64) |
Hiermee configureert u de paramters voor de timer. |
| Suspend() |
Hiermee wordt de verzendbron onderbroken. (Overgenomen van DispatchSource) |
Extensiemethoden
| Naam | Description |
|---|---|
| GetHandle(INativeObject) |
Bronnen van dit type roepen periodiek de gebeurtenis-handler aan in de doelwachtrij. |
| GetNonNullHandle(INativeObject, String) |
Bronnen van dit type roepen periodiek de gebeurtenis-handler aan in de doelwachtrij. |