Compartir a través de


TimeProvider.CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) Método

Definición

Crea una nueva instancia de ITimer, mediante TimeSpan valores para medir intervalos de tiempo.

public:
 virtual System::Threading::ITimer ^ CreateTimer(System::Threading::TimerCallback ^ callback, System::Object ^ state, TimeSpan dueTime, TimeSpan period);
public virtual System.Threading.ITimer CreateTimer (System.Threading.TimerCallback callback, object? state, TimeSpan dueTime, TimeSpan period);
abstract member CreateTimer : System.Threading.TimerCallback * obj * TimeSpan * TimeSpan -> System.Threading.ITimer
override this.CreateTimer : System.Threading.TimerCallback * obj * TimeSpan * TimeSpan -> System.Threading.ITimer
Public Overridable Function CreateTimer (callback As TimerCallback, state As Object, dueTime As TimeSpan, period As TimeSpan) As ITimer

Parámetros

callback
TimerCallback

Delegado que representa un método que se va a ejecutar cuando se desencadena el temporizador. El método especificado para la devolución de llamada debe ser reentrant, ya que se puede invocar simultáneamente en dos subprocesos si el temporizador se activa de nuevo antes o mientras se controla una devolución de llamada anterior.

state
Object

Objeto que se va a pasar al callback. Esto puede ser null.

dueTime
TimeSpan

Cantidad de tiempo que se va a retrasar antes de invocar callback. Especifique InfiniteTimeSpan para evitar que se inicie el temporizador. Especifique Zero para iniciar el temporizador inmediatamente.

period
TimeSpan

Intervalo de tiempo entre invocaciones de callback. Especifique InfiniteTimeSpan para deshabilitar la señalización periódica.

Devoluciones

Instancia de ITimer recién creada.

Excepciones

callback es null.

El número de milisegundos en el valor de dueTime o period es negativo y no es igual a Infiniteo es mayor que MaxValue.

Comentarios

El delegado especificado por el parámetro de devolución de llamada se invoca una vez transcurrido dueTime y, a continuación, cada vez que transcurre el intervalo de tiempo period.

Si dueTime es cero, la devolución de llamada se invoca inmediatamente. Si dueTime es -1 milisegundos, no se invoca callback; el temporizador está deshabilitado, pero se puede volver a habilitar llamando al método Change(TimeSpan, TimeSpan).

Si period es de 0 o -1 milisegundos y dueTime es positivo, se invoca callback una vez; el comportamiento periódico del temporizador está deshabilitado, pero se puede volver a habilitar mediante el método Change(TimeSpan, TimeSpan).

La instancia de ITimer de devolución se rootará implícitamente mientras el temporizador todavía está programado.

CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) captura el ExecutionContext y los almacena con el ITimer para su uso al invocar callback cada vez que se llama. Esa captura se puede suprimir con SuppressFlow().

Se aplica a