Compartilhar via


Temporizadores

Timers são os objetos simplificados permitem especificar um representante a ser chamado em um horário especificado. Um thread no pool de segmentos realiza a operação de espera.

Usando o Timer classe é simples. Você cria um Timer, passing um TimerCallback representante para o método de retorno de chamada, um objeto que representa o estado em que será passado para o retorno de chamada, uma hora inicial de aumentar e um tempo que representa o período entre chamadas de retorno de chamada. Para cancelar um timer pendentes, chame o Timer.Dispose função.

Observação

Há duas classes de temporizador.O System.Windows.Forms.Timer classe é um controle que funciona com designers visuais e destina-se a ser usado em contextos de interface do usuário; Ele gera eventos no thread da interface do usuário.O System.Timers.Timer classe deriva de Component, portanto, ele pode ser usado com designers visuais; Ele também gera eventos, mas aumenta em um ThreadPool segmento.O System.Threading.Timer classe torna retornos de chamada em um ThreadPool de segmento e não usa o modelo de eventos.Ele também fornece um objeto de estado para o método de retorno de chamada, os timers de outros não.É extremamente leve.

O exemplo de código a seguir inicia um timer é iniciado após um segundo (1000 milissegundos) e escalas cada segundo até que você pressione a Enter chave. A variável que contém a referência para o timer é um campo de nível de classe, para garantir que o timer não está sujeito a coleta de lixo enquanto ainda está sendo executado. Para obter mais informações sobre a coleta de lixo agressivo, consulte KeepAlive.

Imports System
Imports System.Threading

Public Class Example
    Private Shared ticker As Timer

    Public Shared Sub TimerMethod(state As Object)
        Console.Write(".")
    End Sub

    Public Shared Sub Main()
        ticker = New Timer(AddressOf TimerMethod, Nothing, 1000, 1000)

        Console.WriteLine("Press the Enter key to end the program.")
        Console.ReadLine()
    End Sub
End Class
using System;
using System.Threading;

public class Example
{
    private static Timer ticker;

    public static void TimerMethod(object state)
    {
        Console.Write(".");
    }

    public static void Main()
    {
        ticker = new Timer(TimerMethod, null, 1000, 1000);

        Console.WriteLine("Press the Enter key to end the program.");
        Console.ReadLine();
    }
}
using namespace System;
using namespace System::Threading;

public ref class Example
{
private:
    static Timer^ ticker;

public:
    static void TimerMethod(Object^ state)
    {
        Console::Write(".");
    }

    static void Main()
    {
        TimerCallback^ tcb =
           gcnew TimerCallback(&TimerMethod);

        ticker = gcnew Timer(tcb, nullptr, 1000, 1000);

        Console::WriteLine("Press the Enter key to end the program.");
        Console::ReadLine();
    }
};

int main()
{
    Example::Main();
}

Consulte também

Referência

Timer

Outros recursos

Threading objetos e recursos