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
- Наследование
- Атрибуты
Поля
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
для указания параметров, используемых для настройки поведения базовой задачи.