Поделиться через


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 элемент доступен в перечисленииTaskCreationOptions, начиная с платформа .NET Framework 4.6.

Комментарии

Перечисление TaskCreationOptions используется со следующими методами:

  • Конструкторы TaskFactory и TaskFactory<TResult> с параметром creationOptions , чтобы указать параметры по умолчанию для задач, созданных фабрикой задач.

  • Конструкторы Task и Task<TResult> с параметром creationOptions , чтобы указать параметры, используемые для настройки поведения задачи.

  • Методы StartNew и StartNew с параметром creationOptions , чтобы указать параметры, используемые для настройки поведения задачи.

  • Методы FromAsync и FromAsync с параметром creationOptions для указания параметров, используемых для настройки поведения задачи, которая выполняет метод end после завершения указанного IAsyncResult .

  • Конструкторы TaskCompletionSource<TResult> с параметром creationOptions для указания параметров, используемых для настройки поведения базовой задачи.

Применяется к

См. также раздел