DispatchSource.Cancel 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
以非同步方式取消分派來源。
public void Cancel ();
member this.Cancel : unit -> unit
備註
函 Cancel() 式會以非同步方式取消分派來源,以防止其事件處理常式區塊的任何進一步調用。 取消不會中斷目前正在執行的處理常式區塊, (非先占式) 。 如果在第一次繼續之前取消來源,則永遠不會呼叫其事件處理常式。 (在此情況下,請注意,來源必須先繼續,才能發行。)
函 IsCanceled 式可用來判斷指定的來源是否已取消。
當分派來源取消時,其選擇性取消處理常式會提交至其目標佇列。 取消處理常式可以透過 SetCancelHandler(Action) 指定。 此取消處理常式只會叫用一次,而且只會直接呼叫 Cancel() 。
重要事項:檔案描述元和 mach 埠型來源需要取消處理常式,才能安全地關閉描述元或終結埠。 在取消處理常式執行之前關閉描述項或埠可能會導致競爭狀況:如果新的描述項配置的值與最近關閉的描述項相同,而來源的事件處理常式仍在執行中,事件處理常式可能會將資料讀/寫到錯誤的描述元。