TimeProvider.CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
Um delegado que representa um método a ser executado quando o temporizador é acionado. O método deve ser reentrante, pois pode ser invocado simultaneamente em dois threads se o temporizador for acionado novamente enquanto um retorno de chamada anterior ainda estiver sendo tratado.
- state
- Object
Um objeto a ser passado para o callback
. Isso pode ser null
.
- dueTime
- TimeSpan
O tempo de atraso antes callback
de ser invocado. Especifica InfiniteTimeSpan para impedir que o timer seja inicializado. Especifica Zero para iniciar o temporizador imediatamente.
- period
- TimeSpan
O intervalo de tempo entre invocações de callback
. Especifica InfiniteTimeSpan para desabilitar a sinalização periódica.
Retornos
A instância de ITimer recém-criada.
Exceções
callback
é null
.
O número de milissegundos no valor de dueTime
ou period
é negativo e não é igual a Infiniteou é maior que Int32.MaxValue.
Comentários
O delegado especificado pelo parâmetro de retorno de chamada é invocado uma vez após dueTime
o decorrido e, depois disso, cada vez que o period
intervalo de tempo passa.
Se dueTime
for zero, o retorno de chamada será invocado imediatamente. Se dueTime
for -1 milissegundos, callback
não será invocado; o temporizador será desabilitado, mas poderá ser habilitado novamente chamando o Change(TimeSpan, TimeSpan) método .
Se period
for 0 ou -1 milissegundos e dueTime
for positivo, callback
será invocado uma vez; o comportamento periódico do temporizador será desabilitado, mas poderá ser habilitado novamente usando o Change(TimeSpan, TimeSpan) método .
A instância retornada ITimer tem raiz implícita enquanto o temporizador ainda está agendado.
CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) captura o ExecutionContext e armazena isso com o ITimer para uso ao invocar callback
cada vez que ele é chamado. Essa captura pode ser suprimida com SuppressFlow().
Aplica-se a
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de