Compartir a través de


DispatcherQueueTimer Clase

Definición

Ejecuta periódicamente una tarea en un subproceso DispatcherQueue después de que haya transcurrido un intervalo de tiempo.

public ref class DispatcherQueueTimer sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 327680)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class DispatcherQueueTimer final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 327680)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class DispatcherQueueTimer final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 327680)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class DispatcherQueueTimer
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 327680)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class DispatcherQueueTimer
Public NotInheritable Class DispatcherQueueTimer
Herencia
Object Platform::Object IInspectable DispatcherQueueTimer
Atributos

Requisitos de Windows

Familia de dispositivos
Windows 10 Fall Creators Update (se introdujo en la versión 10.0.16299.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v5.0)

Ejemplos

public void ConfigureRepeatingTimer()
{
    _queueController = DispatcherQueueController.CreateOnDedicatedThread();
    _queue = _queueController.DispatcherQueue;

    _repeatingTimer = _queue.CreateTimer ();
    _repeatingTimer.Interval = TimeSpan.FromSeconds(5);

    // The tick handler will be invoked repeatedly after every 5
    // seconds on the dedicated thread.
    _repeatingTimer.Tick += (s, e) =>
    {
        DoWork();
    };

    // Start the Timer
    _repeatingTimer.Start();
}

private DispatcherQueue _queue;
private DispatcherQueueController _queueController;
private DispatcherQueueTimer _repeatingTimer;

Comentarios

El sistema garantiza invocar el controlador de eventos solo después de que expire la duración especificada. Sin embargo, puede haber algún retraso antes de que se invoque el controlador de tics si hay otros elementos de trabajo pendientes en la cola.

Las tareas del temporizador se ejecutan con una prioridad menor que la inactiva.

Los temporizadores no mantienen activo el bucle de eventos DispatcherQueue . Los temporizadores creados después de que se haya detenido el bucle de eventos DispatcherQueue no se procesarán.

Propiedades

Interval

Obtiene y establece el intervalo del temporizador.

IsRepeating

Indica si el temporizador se está repitiendo.

IsRunning

Indica si el temporizador se está ejecutando actualmente.

Métodos

Start()

Inicia el temporizador.

Stop()

Detiene el temporizador.

Eventos

Tick

Evento que se desencadena cuando transcurre el intervalo del temporizador.

Se aplica a