TaskCreationOptions 列舉

定義

指定旗標,控制建立和執行工作的選擇性行為。

此列舉支援其成員值的位元組合。

public enum class TaskCreationOptions
[System.Flags]
public enum TaskCreationOptions
[System.Flags]
[System.Serializable]
public enum TaskCreationOptions
[<System.Flags>]
type TaskCreationOptions = 
[<System.Flags>]
[<System.Serializable>]
type TaskCreationOptions = 
Public Enum TaskCreationOptions
繼承
TaskCreationOptions
屬性

欄位

名稱 Description
None 0

指定應使用預設行為。

PreferFairness 1

提示 a TaskScheduler 以盡可能公平的方式排程任務,意即較早排程的任務較可能較早執行,晚排任務則較可能較晚執行。

LongRunning 2

規定任務將是一個長期執行的粗粒度作業,涉及的元件較少且較大,而非細粒度系統。 這暗示 TaskScheduler 了超額訂閱可能是合理的。 超額訂閱讓你建立的執行緒數量超過可用的硬體執行緒數量。 同時也向任務排程器提示該任務可能需要額外執行緒,避免阻塞本地執行緒池中其他執行緒或工作項目的前進進度。

AttachedToParent 4

指定任務在任務階層中附加於父任務。 預設情況下,子任務(即由外部任務建立的內部任務)會獨立於父任務執行。 你可以使用這個 AttachedToParent 選項,讓父任務和子任務同步。

請注意,若父任務設定有該 DenyChildAttach 選項, AttachedToParent 子任務中的該選項不影響,子任務將以分離子任務形式執行。

如需詳細資訊,請參閱 附加和分離的子工作

DenyChildAttach 8

規定任何嘗試以附加子任務執行(即以 AttachedToParent 選項建立)的子任務,將無法附加到父任務,而是以分離子任務執行。 如需詳細資訊,請參閱 附加和分離的子工作

HideScheduler 16

防止環境排程器在已建立任務中被視為目前的排程器。 這表示在已建立任務中執行的 StartNew 或 ContinueWith 等操作,會被視為 Default 目前的排程器。

RunContinuationsAsynchronously 64

將續行加到當前任務上,並以非同步方式執行。

請注意,RunContinuationsAsynchronously 成員可從 .NET Framework 4.6 開始的 TaskCreationOptions 枚舉中取得。

備註

TaskCreationOptions列舉方式包括以下方法:

  • TaskFactoryTaskFactory<TResult>建構子搭配creationOptions參數,用以指定任務工廠所建立任務的預設選項。

  • TaskTask<TResult>構造子搭配creationOptions參數,用以指定用於自訂任務行為的選項。

  • StartNewStartNew方法(與方法)並附有creationOptions參數,用以指定用於自訂任務行為的選項。

  • FromAsync FromAsync與方法creationOptions以參數指定,用以自訂執行終端方法IAsyncResult的任務行為的選項。

  • TaskCompletionSource<TResult>帶有creationOptions參數的建構子,用來指定用來自訂底層任務行為的選項。

適用於

另請參閱