Język

DispatchSource.Timer Klasa

Definicja

Ź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.

Dotyczy