TaskContinuationOptions 列舉
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
public enum class TaskContinuationOptions
[System.Flags]
public enum TaskContinuationOptions
[System.Flags]
[System.Serializable]
public enum TaskContinuationOptions
[<System.Flags>]
type TaskContinuationOptions =
[<System.Flags>]
[<System.Serializable>]
type TaskContinuationOptions =
Public Enum TaskContinuationOptions
- 繼承
- 屬性
欄位
| 名稱 | 值 | Description |
|---|---|---|
| None | 0 | 當未指定續接選項時,指定執行續接時應使用預設行為。 當前件任務完成時,延續會非同步執行,無論前件的最終 Status 屬性值為何。 如果續接是子任務,則會建立為獨立巢狀任務。 |
| PreferFairness | 1 | 提示 a TaskScheduler :按照任務排程順序排程,這樣排程較早的任務較可能執行較早,排程較晚的任務也較可能執行較晚。 |
| LongRunning | 2 | 規定續集將是一個長期且有路徑粒度的操作。 這暗示 TaskScheduler 了超額訂閱可能是合理的。 |
| AttachedToParent | 4 | 指定若續接為子任務,則會附加到任務階層中的父任務。 續接只有在其前件同時也是子任務時,才能成為子任務。 預設情況下,子任務(即由外部任務建立的內部任務)會獨立於父任務執行。 你可以使用這個 AttachedToParent 選項,讓父任務和子任務同步。 請注意,若父任務設定有該 DenyChildAttach 選項, AttachedToParent 子任務中的該選項不影響,子任務將以分離子任務形式執行。 如需詳細資訊,請參閱 附加和分離的子工作。 |
| DenyChildAttach | 8 | 規定任何以 AttachedToParent 選項創建並嘗試作為附加子任務執行的子任務(即由此延續建立的任何巢狀內部任務)將無法附加至父任務,而是以分離子任務執行。 如需詳細資訊,請參閱 附加和分離的子工作。 |
| HideScheduler | 16 | 指定由延續所產生的任務,透過呼叫方法 Run(Action) 如 或 ContinueWith(Action<Task>) 查看預設排程器(Default),而非當前排程器,而非該續接執行的排程器所建立。 |
| LazyCancellation | 32 | 在續件取消的情況下,阻止續曲完成,直到前件完成。 |
| RunContinuationsAsynchronously | 64 | 指定續接任務應非同步執行。 此選項優先於 ExecuteSynchronously。 |
| NotOnRanToCompletion | 65536 | 規定若續接任務已完成,則不應排程。 若前件在完備時的性質為 Status,則 RanToCompletion 至 完備。 此選項不適用於多工續寫。 |
| NotOnFaulted | 131072 | 規定如果續接任務拋出未處理的例外,則不應排程該續接任務。 如果 Status 一個前件在完備時的屬性為 Faulted,則拋出未處理異常。 此選項不適用於多工續寫。 |
| OnlyOnCanceled | 196608 | 規定只有在其前置被取消時,續集才應排程。 若完 Status 備時前件性質為 Canceled,則該前件被取消。 此選項不適用於多工續寫。 |
| NotOnCanceled | 262144 | 規定若前件被取消,續接任務不應被排程。 若完 Status 備時前件性質為 Canceled,則該前件被取消。 此選項不適用於多工續寫。 |
| OnlyOnFaulted | 327680 | 指定只有當續行任務拋出未處理的例外時才應排程。 如果 Status 一個前件在完備時的屬性為 Faulted,則拋出未處理異常。 選擇 OnlyOnFaulted 權保證 Exception 前件中的性質不是 此選項不適用於多工續寫。 |
| OnlyOnRanToCompletion | 393216 | 規定只有當前一件已經完成時,續集才應排程。 若前件在完備時的性質為 Status,則 RanToCompletion 至 完備。 此選項不適用於多工續寫。 |
| ExecuteSynchronously | 524288 | 指定續接任務應同步執行。 指定此選項後,續接執行會在導致前件任務轉換至最終狀態的同一執行緒上執行。 如果在建立續接時前件已經完成,續接會在產生續接的執行緒上執行。 若前件的 CancellationTokenSource 被置於 由於任務是同步執行的,因此不需要呼叫某個方法 Wait() 來確保呼叫執行緒等待任務完成。 |