TimeProvider.CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
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
參數
- callback
- TimerCallback
委派,表示在計時器引發時要執行的方法。 如果計時器在先前的回呼仍在處理時再次引發,方法應該重新進入,因為可能會同時在兩個執行緒上叫用此方法。
- state
- Object
要傳遞至 的物件 callback
。 這可能是 null
。
- dueTime
- TimeSpan
叫用之前 callback
延遲的時間量。 指定 InfiniteTimeSpan 以防止計時器啟動。 指定 Zero 以立即啟動計時器。
- period
- TimeSpan
callback
引動過程之間的時間間隔。 指定 InfiniteTimeSpan 以停用週期的信號功能。
傳回
新建立的 ITimer 執行個體。
例外狀況
callback
為 null
。
或 period
值 dueTime
中的毫秒數為負數,且不等於 Infinite ,或 大於Int32.MaxValue。
備註
回呼參數指定的委派會在經過之後 dueTime
叫用一次,並在每次 period
時間間隔經過之後叫用一次。
如果 dueTime
為零,則會立即叫用回呼。 如果 dueTime
為 -1 毫秒, callback
則不會叫用;計時器已停用,但可以藉由呼叫 Change(TimeSpan, TimeSpan) 方法來重新啟用。
如果 period
為 0 或 -1 毫秒且 dueTime
為正數, callback
則會叫用一次;計時器定期行為已停用,但可以使用 方法重新啟用 Change(TimeSpan, TimeSpan) 。
傳回的 ITimer 實例會在計時器仍排程時隱含根目錄。
CreateTimer(TimerCallback, Object, TimeSpan, TimeSpan) 會 ExecutionContext 擷取 和 儲存,以 ITimer 在每次呼叫時用來叫 callback
用 。 您可以使用 來隱藏 SuppressFlow() 該擷取。
適用於
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應