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
- 继承
- 属性
字段
| 名称 | 值 | 说明 |
|---|---|---|
| None | 0 | 如果未指定延续选项,则指定在执行延续时应使用默认行为。 在前面的任务完成时,延续以异步方式运行,而不考虑前者的最终 Status 属性值。 如果延续是子任务,则会将其创建为分离的嵌套任务。 |
| PreferFairness | 1 | 提示按 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 | 指定如果延续任务已运行到完成,则不应计划延续任务。 如果前一个前项在完成时其属性为RanToCompletion完成,则运行Status为完成。 此选项对多任务延续无效。 |
| NotOnFaulted | 131072 | 指定如果延续任务的先行引发未经处理的异常,则不应计划延续任务。 如果前面的异常在完成Faulted时引发Status未经处理的异常。 此选项对多任务延续无效。 |
| OnlyOnCanceled | 196608 | 指定仅当延续的先行已取消时,才应计划延续。 如果其属性在完成Canceled时取消其Status前项。 此选项对多任务延续无效。 |
| NotOnCanceled | 262144 | 指定如果已取消延续任务,则不应计划延续任务。 如果其属性在完成Canceled时取消其Status前项。 此选项对多任务延续无效。 |
| OnlyOnFaulted | 327680 | 指定仅当延续任务引发未经处理的异常时,才应计划延续任务。 如果前面的异常在完成Faulted时引发Status未经处理的异常。 该 OnlyOnFaulted 选项保证 Exception 前面的属性不是 此选项对多任务延续无效。 |
| OnlyOnRanToCompletion | 393216 | 指定仅当延续的先行运行到完成时,才应计划延续。 如果前一个前项在完成时其属性为RanToCompletion完成,则运行Status为完成。 此选项对多任务延续无效。 |
| ExecuteSynchronously | 524288 | 指定应同步执行延续任务。 指定此选项后,延续将在导致前一个任务转换为其最终状态的同一线程上运行。 如果在创建延续时已完成前面的操作,则延续将在创建延续的线程上运行。 如果前面的CancellationTokenSource在 由于任务同步执行,因此无需调用方法,例如 Wait() 确保调用线程等待任务完成。 |