Lingua

DispatchSource.Timer Classe

Definizione

Le origini di questo tipo richiamano periodicamente il gestore eventi nella coda di destinazione.

public class DispatchSource.Timer : CoreFoundation.DispatchSource
type DispatchSource.Timer = class
    inherit DispatchSource
Ereditarietà

Commenti

I parametri timer vengono configurati con la funzione dispatch_source_set_timer(). Una volta restituita questa funzione, tutti i dati di origine in sospeso accumulati per i parametri timer precedenti sono stati cancellati; il successivo incendio del timer si verificherà all'avvio e ogni nanosecondo intervallo successivamente fino a quando l'origine timer non viene annullata.

Qualsiasi incendio del timer può essere ritardato dal sistema per migliorare il consumo energetico e le prestazioni del sistema. Il limite massimo per il ritardo consentito può essere configurato con l'argomento di leeway, il limite inferiore è sotto il controllo del sistema.

Per l'attivazione iniziale del timer all'inizio, il limite superiore per il ritardo consentito è impostato su nanosecondi di leway. Per il timer successivo viene attivato all'inizio + N * intervallo, il limite superiore è MIN(leeway, interval / 2 ).

Il limite inferiore al ritardo consentito può variare con lo stato del processo, ad esempio la visibilità dell'interfaccia utente dell'applicazione. Se l'origine timer specificata è stata creata con un costruttore che imposta "strict" su true, il sistema eseguirà un'operazione ottimale per osservare rigorosamente il valore specificato della modalità di leway anche se è inferiore al limite inferiore corrente. Si noti che è necessario prevedere una quantità minima di ritardo anche se questo flag è specificato.

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 ();

Costruttori

Nome Descrizione
DispatchSource.Timer(Boolean, DispatchQueue)

Le origini di questo tipo richiamano periodicamente il gestore eventi nella coda di destinazione.

DispatchSource.Timer(DispatchQueue)

Crea un'origine dispatch timer che verrà richiamata a intervalli periodici.

DispatchSource.Timer(IntPtr, Boolean)

Le origini di questo tipo richiamano periodicamente il gestore eventi nella coda di destinazione.

DispatchSource.Timer(IntPtr)

Le origini di questo tipo richiamano periodicamente il gestore eventi nella coda di destinazione.

Proprietà

Nome Descrizione
Handle

Le origini di questo tipo richiamano periodicamente il gestore eventi nella coda di destinazione.

(Ereditato da DisposableObject)
IsCanceled

Determinare se l'origine specificata è stata annullata.

(Ereditato da DispatchSource)
Owns

Le origini di questo tipo richiamano periodicamente il gestore eventi nella coda di destinazione.

(Ereditato da DisposableObject)
TimerFiredCount

Numero di volte in cui il timer è stato attivato dall'ultima chiamata del gestore eventi

Metodi

Nome Descrizione
Activate()

Le origini di questo tipo richiamano periodicamente il gestore eventi nella coda di destinazione.

(Ereditato da DispatchObject)
Cancel()

Annulla in modo asincrono l'origine dispatch.

(Ereditato da DispatchSource)
ClearHandle()

Le origini di questo tipo richiamano periodicamente il gestore eventi nella coda di destinazione.

(Ereditato da DisposableObject)
Dispose()

Rilascia tutte le risorse usate da questo oggetto.

(Ereditato da DisposableObject)
Dispose(Boolean)

Rilascia le risorse usate dall'oggetto DispatchSource.

(Ereditato da DispatchSource)
Equals(Object)

Le origini di questo tipo richiamano periodicamente il gestore eventi nella coda di destinazione.

(Ereditato da DisposableObject)
GetCheckedHandle()

Le origini di questo tipo richiamano periodicamente il gestore eventi nella coda di destinazione.

(Ereditato da DisposableObject)
GetHashCode()

Le origini di questo tipo richiamano periodicamente il gestore eventi nella coda di destinazione.

(Ereditato da DisposableObject)
InitializeHandle(NativeHandle)

Le origini di questo tipo richiamano periodicamente il gestore eventi nella coda di destinazione.

(Ereditato da DisposableObject)
Release()

Le origini di questo tipo richiamano periodicamente il gestore eventi nella coda di destinazione.

(Ereditato da DispatchObject)
Resume()

Riprende l'origine dispatch.

(Ereditato da DispatchSource)
Retain()

Le origini di questo tipo richiamano periodicamente il gestore eventi nella coda di destinazione.

(Ereditato da DispatchObject)
SetCancelHandler(Action)

Fornisce un gestore di annullamento

(Ereditato da DispatchSource)
SetEventHandler(Action)

È stato specificato un gestore da eseguire quando gli eventi vengono ricevuti nell'origine dispatch.

(Ereditato da DispatchSource)
SetRegistrationHandler(Action)

Fornisce un gestore di registrazione

(Ereditato da DispatchSource)
SetTargetQueue(DispatchQueue)

Le origini di questo tipo richiamano periodicamente il gestore eventi nella coda di destinazione.

(Ereditato da DispatchObject)
SetTimer(DispatchTime, Int64, Int64)

Configura i parametri nel timer.

Suspend()

Sospende l'origine dispatch.

(Ereditato da DispatchSource)

Metodi di estensione

Nome Descrizione
GetHandle(INativeObject)

Le origini di questo tipo richiamano periodicamente il gestore eventi nella coda di destinazione.

GetNonNullHandle(INativeObject, String)

Le origini di questo tipo richiamano periodicamente il gestore eventi nella coda di destinazione.

Si applica a