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
- 繼承
- 屬性
欄位
AttachedToParent | 4 | 指定將接續 (如果是子工作) 附加至工作階層中的父代。 只有在接續的前項也是子工作時,該接續才可以是子工作。 根據預設,子工作 (即外部工作所建立的內部工作) 會在其父代之外單獨執行。 您可以使用 AttachedToParent 選項,使父工作與子工作同步化。 請注意,若父工作是以 DenyChildAttach 選項進行設定,則子工作中的 AttachedToParent 選項無效,且會以中斷連結的子工作方式執行子工作。 如需詳細資訊,請參閱附加與中斷連結的子工作。 |
DenyChildAttach | 8 | 指定以 AttachedToParent 選項建立的任何子工作 (亦即這個接續所建立的任何巢狀內部工作),以及以附加子工作方式執行的嘗試,都將無法附加至父工作,且會改為以中斷連結的子工作方式執行。 如需詳細資訊,請參閱附加與中斷連結的子工作。 |
ExecuteSynchronously | 524288 | 指定應該要同步執行接續工作。 指定這個選項時,接續會在造成前項工作轉換為最終狀態的同一個執行緒上執行。 如果建立接續時前項已完成,則接續會在建立接續的執行緒上執行。 如果前項的 CancellationTokenSource 在 因為工作以同步方式執行,所以不需要呼叫方法 (如 Wait()),以確保呼叫執行緒等待工作完成。 |
HideScheduler | 16 | 指定接續透過呼叫 Run(Action) 或 ContinueWith(Action<Task>) 等方法所建立的工作,會將預設排程器 (Default) 視為目前的排程器,而不是這個接續執行依據的排程器。 |
LazyCancellation | 32 | 在接續取消的情況下,防止接續在前項完成之前完成。 |
LongRunning | 2 | 指定接續會是長時間執行的繁複作業。 這會提示 TaskScheduler 可能會發生過度訂閱的狀況。 |
None | 0 | 如果未指定任何接續選項,則指定在執行接續時,應該使用預設行為。 當前項工作完成時,接續會以非同步方式執行,而不論前項的最終 Status 屬性值為何。 如果接續是子工作,則會建立為中斷連結的巢狀工作。 |
NotOnCanceled | 262144 | 指定當前項工作取消時,不應該排定接續工作。 如果前項在完成時的 Status 屬性為 Canceled,則取消前項。 這個選項對多工接續而言無效。 |
NotOnFaulted | 131072 | 指定當前項擲回未處理的例外狀況時,不應該排程接續工作。 如果前項在完成時的 Status 屬性為 Faulted,則擲回未處理的例外狀況。 這個選項對多工接續而言無效。 |
NotOnRanToCompletion | 65536 | 指定當前項執行完成時,不應該排程接續工作。 如果前項在完成時的 Status 屬性為 RanToCompletion,則執行到完成。 這個選項對多工接續而言無效。 |
OnlyOnCanceled | 196608 | 指定只有在取消接續的前項時,才應該排定接續。 如果前項在完成時的 Status 屬性為 Canceled,則取消前項。 這個選項對多工接續而言無效。 |
OnlyOnFaulted | 327680 | 指定只有在前項擲回未處理的例外狀況時,才應排程接續工作。 如果前項在完成時的 Status 屬性為 Faulted,則擲回未處理的例外狀況。 OnlyOnFaulted 選項可確保前項的 Exception 屬性不是 這個選項對多工接續而言無效。 |
OnlyOnRanToCompletion | 393216 | 指定只有在接續的前項徹底執行後,才應該排定接續。 如果前項在完成時的 Status 屬性為 RanToCompletion,則執行到完成。 這個選項對多工接續而言無效。 |
PreferFairness | 1 | 提示 TaskScheduler 依序排程工作,讓先排程的工作早執行的機率較高,後排程的工作晚執行的機率較高。 |
RunContinuationsAsynchronously | 64 | 指定應該要非同步執行接續工作。 這個選項優先於 ExecuteSynchronously。 |