Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Constructor Timer (TimerCallback)

 

Publicado: octubre de 2016

Inicializa una nueva instancia de la Timer clase con un período y un límite infinitos de tiempo, con el recién creado Timer objeto como objeto de estado.

Espacio de nombres:   System.Threading
Ensamblado:  mscorlib (en mscorlib.dll)

public Timer(
	TimerCallback callback
)

Parámetros

callback
Type: System.Threading.TimerCallback

Un TimerCallback delegado que representa un método que se ejecute.

Llamar a este constructor cuando desee utilizar el Timer objeto como objeto de estado. Después de crear el temporizador, utilice el Change para establecer el intervalo y tiempo de expiración.

Este constructor especifica un límite infinitos tiempo antes de la primera devolución de llamada y un intervalo infinito entre devoluciones de llamada, con el fin de evitar que la primera devolución de llamada se produzca antes de la Timer objeto se asigna al objeto de estado.

El método especificado para callback debe ser de reentrada, porque se llama en ThreadPool subprocesos. El método se puede ejecutar simultáneamente en dos subprocesos del grupo de subprocesos si el intervalo del temporizador es menor que el tiempo necesario para ejecutar el método, o si todos los subprocesos del grupo de subprocesos están en uso y el método se pone en cola varias veces.

En el ejemplo de código siguiente se crea un nuevo temporizador, utilizando el propio temporizador como objeto de estado. El Change método se utiliza para iniciar el temporizador. Cuando se produce la devolución de llamada del temporizador, se utiliza el objeto de estado para desactivar el temporizador.

using System;
using System.Threading;

public class Example
{
    public static void Main()
    {
        // Create an instance of the Example class, and start two
        // timers.
        Example ex = new Example();
        ex.StartTimer(2000);
        ex.StartTimer(1000);

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

    public void StartTimer(int dueTime)
    {
        Timer t = new Timer(new TimerCallback(TimerProc));
        t.Change(dueTime, 0);
    }

    private void TimerProc(object state)
    {
        // The state object is the Timer object.
        Timer t = (Timer) state;
        t.Dispose();
        Console.WriteLine("The timer callback executes.");
    }
}

.NET Framework
Disponible desde 2.0
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Volver al principio
Mostrar: