Temporizadores
Timers são os objetos simplificados permitem que você especifique um delegado a ser chamado em um horário especificado.Um thread no pool de segmentos executa a operação de espera.
Usando o Timer classe é simples. Criar um Timer, passando um TimerCallback delegado para o método de retorno de chamada, um objeto que representa o estado que será passado para o retorno de chamada, uma time inicial aumentar e um time 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 deve ser usado em contextos de interface do usuário; ele gera eventos no thread da interface do usuário. The System.Timers.Timer classe deriva de Component, para que possam ser usado com designers visuais; ele também gera eventos, mas ele aumenta em um ThreadPool thread. The System.Threading.Timer classe faz retornos de chamada em um ThreadPool segmento e não usam o evento em todos os modelo faz. Ele também fornece um objeto de estado para o método de retorno de chamada, quais outros cronômetros não.É extremamente leve. |
O exemplo de código a seguir inicia um cronômetro que inicia depois de um segundo (1000 milissegundos) e tiques por segundo até você pressionar o Digite 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 lixo coleção enquanto ainda estiver 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();
}
}