Share via


TimeProvider.CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) Yöntem

Tanım

Zaman aralıklarını ölçmek için değerleri kullanarak TimeSpan yeni ITimer bir örnek oluşturur.

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

Parametreler

callback
TimerCallback

Zamanlayıcı çalıştırıldığında yürütülecek yöntemi temsil eden bir temsilci. Önceki bir geri çağırma hala işlenirken zamanlayıcı yeniden tetiklendiğinde iki iş parçacığında aynı anda çağrılabileceği için yöntemin yeniden giriş yapması gerekir.

state
Object

öğesine geçirilecek callbackbir nesne. Bu olabilir null.

dueTime
TimeSpan

Önce gecikme callback süresi çağrılır. Zamanlayıcının başlatılmasını önlemek için belirtin InfiniteTimeSpan . Zamanlayıcıyı hemen başlatmak için belirtin Zero .

period
TimeSpan

çağrıları callbackarasındaki zaman aralığı. Düzenli sinyalleri devre dışı bırakmak için belirtin InfiniteTimeSpan .

Döndürülenler

Yeni oluşturulan ITimer örnek.

Özel durumlar

callback, null değeridir.

veya period değerindeki dueTime milisaniye sayısı negatiftir ve değerine eşit Infinitedeğildir ya da Int32.MaxValue değerinden büyüktür.

Açıklamalar

Geri çağırma parametresi tarafından belirtilen temsilci, geçtikten sonra dueTime bir kez ve daha sonra zaman aralığı her geçtiğinde period çağrılır.

Sıfır ise dueTime , geri çağırma hemen çağrılır. -1 milisaniye ise dueTime çağrılmıyorsa callback ; zamanlayıcı devre dışı bırakılır, ancak yöntemi çağrılarak Change(TimeSpan, TimeSpan) yeniden etkinleştirilebilir.

period 0 veya -1 milisaniye ise ve dueTime pozitifse, callback bir kez çağrılır; zamanlayıcının düzenli davranışı devre dışı bırakılır, ancak yöntemi kullanılarak Change(TimeSpan, TimeSpan) yeniden etkinleştirilebilir.

Süreölçer hala zamanlanmışken döndürülen ITimer örneğin kökü örtük olarak oluşturulur.

CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan)ExecutionContext her çağrıldığında çağrılırken callback kullanmak üzere ile ve ITimer depolar. Bu yakalama ile SuppressFlow()gizlenebilir.

Şunlara uygulanır