TaskCreationOptions 列舉
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
指定旗標,這些旗標控制建立和執行工作時的選擇性行為。
此列舉支援其成員值的位元組合。
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
- 繼承
- 屬性
欄位
AttachedToParent | 4 | 指定將工作附加至工作階層中的父代。 根據預設,子工作 (即外部工作所建立的內部工作) 會在其父代之外單獨執行。 您可以使用 AttachedToParent 選項,使父工作與子工作同步化。 請注意,若父工作是以 DenyChildAttach 選項進行設定,則子工作中的 AttachedToParent 選項無效,且會以中斷連結的子工作方式執行子工作。 如需詳細資訊,請參閱附加與中斷連結的子工作。 |
DenyChildAttach | 8 | 指定嘗試以連結的子工作方式執行的任何子工作 (亦即以 AttachedToParent 選項所建立),都將無法連結至父工作,且會改為以中斷連結的子工作方式執行。 如需詳細資訊,請參閱附加與中斷連結的子工作。 |
HideScheduler | 16 | 防止環境排程器被視為所建立工作中的目前排程器。 表示如 StartNew 或 ContinueWith 這樣在已建立工作中執行的作業會將 Default 視為目前排程器。 |
LongRunning | 2 | 指定工作將會是長時間執行的廣泛作業,涉及比細部系統更少、更大的元件。 這會提示 TaskScheduler 可能會發生過度訂閱的狀況。 過度訂閱可讓您建立比可用硬體執行緒數目更多的執行緒。 它也提供工作排程器的提示,指出工作可能需要額外的執行緒,使其不會封鎖本機執行緒集區佇列上其他執行緒或工作專案的向前進度。 |
None | 0 | 指定應該使用預設行為。 |
PreferFairness | 1 | 提示 TaskScheduler 盡量依公平法則排定工作,即盡量讓較早排定的工作較早執行,並讓較晚排定的工作較晚執行。 |
RunContinuationsAsynchronously | 64 | 強制以非同步方式執行加入目前工作的接續。 請注意, RunContinuationsAsynchronously 從 .NET Framework 4.6 開始, TaskCreationOptions 列舉中可以使用成員。 |
備註
列舉 TaskCreationOptions 會搭配下列方法使用:
TaskFactory和 TaskFactory<TResult> 建構函式具有
creationOptions
參數,以指定工作處理站所建立之工作的預設選項。Task和 Task<TResult> 建構函式具有
creationOptions
參數,以指定用來自訂工作行為的選項。StartNew使用 參數的 和 StartNew 方法
creationOptions
,以指定用來自訂工作行為的選項。FromAsync使用 參數的
creationOptions
和 FromAsync 方法,指定用來自訂指定完成時 IAsyncResult 執行結束方法之工作行為的選項。TaskCompletionSource<TResult>具有 參數的
creationOptions
建構函式,指定用來自訂基礎工作行為的選項。