Compartilhar via


DispatcherQueueTimer Classe

Definição

Executa periodicamente uma tarefa em um thread DispatcherQueue após um intervalo de tempo ter decorrido.

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
Herança
Object Platform::Object IInspectable DispatcherQueueTimer
Atributos

Requisitos do Windows

Família de dispositivos
Windows 10 Fall Creators Update (introduzida na 10.0.16299.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v5.0)

Exemplos

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;

Comentários

O sistema garante invocar o manipulador de eventos somente depois que a duração especificada expirar. No entanto, pode haver algum atraso antes que o manipulador de escala seja invocado se houver outros itens de trabalho pendentes na fila.

As tarefas do temporizador são executadas com uma prioridade menor que a ociosa.

Os temporizadores não mantêm o loop de eventos DispatcherQueue ativo. Os temporizadores criados após a interrupção do loop de evento DispatcherQueue não serão processados.

Propriedades

Interval

Obtém e define o intervalo para o temporizador.

IsRepeating

Indica se o temporizador está se repetindo.

IsRunning

Indica se o temporizador está em execução no momento.

Métodos

Start()

Inicia o temporizador.

Stop()

Interrompe o temporizador.

Eventos

Tick

Evento que é acionado quando o intervalo de temporizador decorrido.

Aplica-se a