DispatchSource.Timer Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Źródła tego typu okresowo wywołują procedurę obsługi zdarzeń w kolejce docelowej.
public class DispatchSource.Timer : CoreFoundation.DispatchSource
type DispatchSource.Timer = class
inherit DispatchSource
- Dziedziczenie
Uwagi
Parametry czasomierza są konfigurowane za pomocą funkcji dispatch_source_set_timer(). Po powrocie tej funkcji wszystkie oczekujące dane źródłowe zebrane dla poprzednich parametrów czasomierza zostały wyczyszczone; następny ogień czasomierza wystąpi na początku, a każdy interwał nanosekundy później do momentu anulowania źródła czasomierza.
Każdy pożar czasomierza może być opóźniony przez system w celu zwiększenia zużycia energii i wydajności systemu. Górny limit dozwolonego opóźnienia można skonfigurować za pomocą argumentu leeway, dolny limit jest pod kontrolą systemu.
W przypadku początkowego uruchomienia czasomierza górny limit dozwolonego opóźnienia jest ustawiony na nanosekundy swobody. W przypadku kolejnych wyzwoleń czasomierza na początku + N * górny limit to MIN(leeway, interval / 2 ).
Niższy limit dozwolonego opóźnienia może się różnić w zależności od stanu procesu, takiego jak widoczność interfejsu użytkownika aplikacji. Jeśli określone źródło czasomierza zostało utworzone za pomocą konstruktora, który ustawia wartość "strict" na wartość true, system podejmie najlepsze wysiłki, aby dokładnie obserwować podaną wartość leeway, nawet jeśli jest mniejsza niż bieżący niższy limit. Należy pamiętać, że minimalna ilość opóźnienia ma być oczekiwana, nawet jeśli ta flaga jest określona.
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 ();
Konstruktory
| Nazwisko | Opis |
|---|---|
| DispatchSource.Timer(Boolean, DispatchQueue) |
Źródła tego typu okresowo wywołują procedurę obsługi zdarzeń w kolejce docelowej. |
| DispatchSource.Timer(DispatchQueue) |
Tworzy źródło wysyłania czasomierza, które będzie wywoływane w okresowych odstępach czasu. |
| DispatchSource.Timer(IntPtr, Boolean) |
Źródła tego typu okresowo wywołują procedurę obsługi zdarzeń w kolejce docelowej. |
| DispatchSource.Timer(IntPtr) |
Źródła tego typu okresowo wywołują procedurę obsługi zdarzeń w kolejce docelowej. |
Właściwości
| Nazwisko | Opis |
|---|---|
| Handle |
Źródła tego typu okresowo wywołują procedurę obsługi zdarzeń w kolejce docelowej. (Odziedziczone po DisposableObject) |
| IsCanceled |
Ustal, czy określone źródło zostało anulowane. (Odziedziczone po DispatchSource) |
| Owns |
Źródła tego typu okresowo wywołują procedurę obsługi zdarzeń w kolejce docelowej. (Odziedziczone po DisposableObject) |
| TimerFiredCount |
Liczba wyzwoleń czasomierza od ostatniego wywołania programu obsługi zdarzeń |
Metody
| Nazwisko | Opis |
|---|---|
| Activate() |
Źródła tego typu okresowo wywołują procedurę obsługi zdarzeń w kolejce docelowej. (Odziedziczone po DispatchObject) |
| Cancel() |
Asynchronicznie anuluje źródło wysyłania. (Odziedziczone po DispatchSource) |
| ClearHandle() |
Źródła tego typu okresowo wywołują procedurę obsługi zdarzeń w kolejce docelowej. (Odziedziczone po DisposableObject) |
| Dispose() |
Zwalnia wszystkie zasoby używane przez ten obiekt. (Odziedziczone po DisposableObject) |
| Dispose(Boolean) |
Zwalnia zasoby używane przez obiekt DispatchSource. (Odziedziczone po DispatchSource) |
| Equals(Object) |
Źródła tego typu okresowo wywołują procedurę obsługi zdarzeń w kolejce docelowej. (Odziedziczone po DisposableObject) |
| GetCheckedHandle() |
Źródła tego typu okresowo wywołują procedurę obsługi zdarzeń w kolejce docelowej. (Odziedziczone po DisposableObject) |
| GetHashCode() |
Źródła tego typu okresowo wywołują procedurę obsługi zdarzeń w kolejce docelowej. (Odziedziczone po DisposableObject) |
| InitializeHandle(NativeHandle) |
Źródła tego typu okresowo wywołują procedurę obsługi zdarzeń w kolejce docelowej. (Odziedziczone po DisposableObject) |
| Release() |
Źródła tego typu okresowo wywołują procedurę obsługi zdarzeń w kolejce docelowej. (Odziedziczone po DispatchObject) |
| Resume() |
Wznawia źródło wysyłania. (Odziedziczone po DispatchSource) |
| Retain() |
Źródła tego typu okresowo wywołują procedurę obsługi zdarzeń w kolejce docelowej. (Odziedziczone po DispatchObject) |
| SetCancelHandler(Action) |
Udostępnia procedurę obsługi anulowania (Odziedziczone po DispatchSource) |
| SetEventHandler(Action) |
Określono procedurę obsługi do wykonania, gdy zdarzenia są odbierane w źródle wysyłania. (Odziedziczone po DispatchSource) |
| SetRegistrationHandler(Action) |
Udostępnia procedurę obsługi rejestracji (Odziedziczone po DispatchSource) |
| SetTargetQueue(DispatchQueue) |
Źródła tego typu okresowo wywołują procedurę obsługi zdarzeń w kolejce docelowej. (Odziedziczone po DispatchObject) |
| SetTimer(DispatchTime, Int64, Int64) |
Konfiguruje parametry do czasomierza. |
| Suspend() |
Zawiesza źródło wysyłania. (Odziedziczone po DispatchSource) |
Metody rozszerzania
| Nazwisko | Opis |
|---|---|
| GetHandle(INativeObject) |
Źródła tego typu okresowo wywołują procedurę obsługi zdarzeń w kolejce docelowej. |
| GetNonNullHandle(INativeObject, String) |
Źródła tego typu okresowo wywołują procedurę obsługi zdarzeń w kolejce docelowej. |