語言

DispatchSource.Timer 類別

定義

此類來源會定期呼叫目標佇列的事件處理器。

public class DispatchSource.Timer : CoreFoundation.DispatchSource
type DispatchSource.Timer = class
    inherit DispatchSource
繼承

備註

計時器參數以 dispatch_source_set_timer() 函式設定。 一旦這個函式回傳,任何先前計時器參數累積的待處理來源資料都已被清除;計時器的下一次發射會在開始時發生,之後每隔一奈秒,直到計時器來源被取消為止。

系統可能會延遲計時器點火,以提升功耗與系統效能。 允許延遲的上限可用餘裕參數配置,下限則由系統控制。

對於初始計時器啟動,允許延遲的上限設為餘裕奈秒。 對於後續計時器在起始 + N * 間隔點觸發,上限為 MIN(餘裕,間隔 / 2)。

允許延遲的下限可能會因程序狀態而異,例如應用程式介面的可見性。 若指定的計時器來源是以將「嚴格」設為真(true)的建構子創建,系統會盡力嚴格遵守所提供的寬限值,即使該值小於當前下限。 請注意,即使指定了這個旗標,延遲也會很小。

var dispatchSource = new DispatchSource.Timer (strict: true, queue: DispatchQueue.MainQueue);

long delay = 2000000000;
long leeway = 5000000000;
dispatchSource.SetTimer (DispatchTime.Now, delay, leeway);

dispatchSource.SetRegistrationHandler (() => {
    Console.WriteLine ("Timer registered");
});

dispatchSource.SetEventHandler (() => {
Console.WriteLine ("Timer tick");
});

dispatchSource.SetCancelHandler (() => {
Console.WriteLine ("Timer stopped");
});

dispatchSource.Resume ();

建構函式

名稱 Description
DispatchSource.Timer(Boolean, DispatchQueue)

此類來源會定期呼叫目標佇列的事件處理器。

DispatchSource.Timer(DispatchQueue)

建立一個定時器調度來源,並會在週期性間隔中被呼叫。

DispatchSource.Timer(IntPtr, Boolean)

此類來源會定期呼叫目標佇列的事件處理器。

DispatchSource.Timer(IntPtr)

此類來源會定期呼叫目標佇列的事件處理器。

屬性

名稱 Description
Handle

此類來源會定期呼叫目標佇列的事件處理器。

(繼承來源 DisposableObject)
IsCanceled

確認指定的來源是否已被取消。

(繼承來源 DispatchSource)
Owns

此類來源會定期呼叫目標佇列的事件處理器。

(繼承來源 DisposableObject)
TimerFiredCount

自事件處理程序上次呼叫以來,計時器已觸發的次數

方法

名稱 Description
Activate()

此類來源會定期呼叫目標佇列的事件處理器。

(繼承來源 DispatchObject)
Cancel()

非同步取消派遣來源。

(繼承來源 DispatchSource)
ClearHandle()

此類來源會定期呼叫目標佇列的事件處理器。

(繼承來源 DisposableObject)
Dispose()

釋放此物件所使用的所有資源。

(繼承來源 DisposableObject)
Dispose(Boolean)

釋放 DispatchSource 物件所使用的資源。

(繼承來源 DispatchSource)
Equals(Object)

此類來源會定期呼叫目標佇列的事件處理器。

(繼承來源 DisposableObject)
GetCheckedHandle()

此類來源會定期呼叫目標佇列的事件處理器。

(繼承來源 DisposableObject)
GetHashCode()

此類來源會定期呼叫目標佇列的事件處理器。

(繼承來源 DisposableObject)
InitializeHandle(NativeHandle)

此類來源會定期呼叫目標佇列的事件處理器。

(繼承來源 DisposableObject)
Release()

此類來源會定期呼叫目標佇列的事件處理器。

(繼承來源 DispatchObject)
Resume()

調度來源繼續。

(繼承來源 DispatchSource)
Retain()

此類來源會定期呼叫目標佇列的事件處理器。

(繼承來源 DispatchObject)
SetCancelHandler(Action)

提供取消處理程序

(繼承來源 DispatchSource)
SetEventHandler(Action)

指定一個處理程序,當派遣來源收到事件時執行。

(繼承來源 DispatchSource)
SetRegistrationHandler(Action)

提供註冊處理程序

(繼承來源 DispatchSource)
SetTargetQueue(DispatchQueue)

此類來源會定期呼叫目標佇列的事件處理器。

(繼承來源 DispatchObject)
SetTimer(DispatchTime, Int64, Int64)

將參數配置到計時器。

Suspend()

暫停調度來源。

(繼承來源 DispatchSource)

擴充方法

名稱 Description
GetHandle(INativeObject)

此類來源會定期呼叫目標佇列的事件處理器。

GetNonNullHandle(INativeObject, String)

此類來源會定期呼叫目標佇列的事件處理器。

適用於