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
属性

字段

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具有creationOptions参数的构造TaskFactory<TResult>函数,用于指定任务工厂创建的任务的默认选项。

  • Task具有creationOptions参数的构造Task<TResult>函数,用于指定用于自定义任务行为的选项。

  • StartNew具有creationOptions参数的和StartNew方法,用于指定用于自定义任务行为的选项。

  • FromAsync具有creationOptions参数的和FromAsync方法,用于指定用于自定义在指定IAsyncResult完成时执行结束方法的任务的行为的选项。

  • TaskCompletionSource<TResult>具有creationOptions参数的构造函数,用于指定用于自定义基础任务行为的选项。

适用于

另请参阅