Sdílet prostřednictvím


TimeProvider.CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) Metoda

Definice

Vytvoří novou ITimer instanci pomocí TimeSpan hodnot pro měření časových intervalů.

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

Parametry

callback
TimerCallback

Delegát představující metodu, která má být spuštěna při spuštění časovače. Metoda by měla být znovu zaváděna, protože může být vyvolána současně na dvou vláknech, pokud časovač znovu aktivuje, zatímco předchozí zpětné volání je stále zpracovávána.

state
Object

Objekt, který se má předat objektu callback. Může to být null.

dueTime
TimeSpan

Je vyvolána doba, po kterou se má zpoždění callback provést. Zadáním InfiniteTimeSpan zabráníte spuštění časovače. Zadejte Zero , aby se časovač spustil okamžitě.

period
TimeSpan

Časový interval mezi voláními metody callback. Zadáním zakážete InfiniteTimeSpan pravidelnou signalizaci.

Návraty

Nově vytvořená ITimer instance.

Výjimky

callback je null.

Počet milisekund v hodnotě dueTime nebo period je záporná a nerovná se Infinitenebo je větší než Int32.MaxValue.

Poznámky

Delegát určený parametrem zpětného volání se vyvolá jednou po dueTime uplynutí a potom pokaždé, když period uplynou časový interval.

Pokud dueTime je nula, zpětné volání se vyvolá okamžitě. Pokud dueTime je -1 milisekund, callback není vyvolána; časovač je zakázán, ale lze jej znovu povolit voláním Change(TimeSpan, TimeSpan) metody .

Pokud period je 0 nebo -1 milisekund a dueTime je pozitivní, callback je vyvolána jednou; periodické chování časovače je zakázáno, ale lze jej znovu povolit pomocí Change(TimeSpan, TimeSpan) metody .

ITimer Vrácená instance je implicitně rootována, zatímco časovač je stále naplánovaný.

CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) zachytí ExecutionContext a uloží, že se s ITimer pro použití při vyvolání callback pokaždé, když je volána. Toto zachytávání lze potlačit pomocí SuppressFlow().

Platí pro