Перечисления пространства имен concurrencyconcurrency namespace enums

Перечисление agent_statusagent_status Enumeration

Допустимые состояния для объекта agent.The valid states for an agent.

enum agent_status;

ЗначенияValues

ИмяName ОписаниеDescription
agent_canceled Объект agent отменен.The agent was canceled.
agent_created Объект agent создан, но не запущен.The agent has been created but not started.
agent_done agentЗавершение без отмены.The agent finished without being canceled.
agent_runnable Был agent запущен, но не введен run метод.The agent has been started, but not entered its run method.
agent_started agentЗапущен.The agent has started.

КомментарииRemarks

Дополнительные сведения см. в разделе асинхронные агенты.For more information, see Asynchronous Agents.

ТребованияRequirements

Заголовок: ConcRT. hHeader: concrt.h

Перечисление Agents_EventTypeAgents_EventType Enumeration

Типы событий, которые можно отслеживать с помощью функции трассировки, предоставляемой библиотекой агентов.The types of events that can be traced using the tracing functionality offered by the Agents Library

enum Agents_EventType;

ЗначенияValues

ИмяName ОписаниеDescription
AGENTS_EVENT_CREATE Тип события, который представляет создание объектаAn event type that represents the creation of an object
AGENTS_EVENT_DESTROY Тип события, который представляет удаление объектаAn event type that represents the deletion of an object
AGENTS_EVENT_END Тип события, который представляет завершение некоторой обработкиAn event type that represents the conclusion of some processing
AGENTS_EVENT_LINK Тип события, который представляет связывание блоков сообщенийAn event type that represents the linking of message blocks
AGENTS_EVENT_NAME Тип события, который представляет имя для объектаAn event type that represents the name for an object
AGENTS_EVENT_SCHEDULE Тип события, который представляет расписание процессаAn event type that represents the scheduling of a process
AGENTS_EVENT_START Тип события, который представляет запуск некоторой обработкиAn event type that represents the initiation of some processing
AGENTS_EVENT_UNLINK Тип события, который представляет отвязку блоков сообщенийAn event type that represents the unlinking of message blocks

ТребованияRequirements

Заголовок: ConcRT. hHeader: concrt.h

Перечисление ConcRT_EventTypeConcRT_EventType Enumeration

Типы событий, которые можно отслеживать с помощью функций трассировки, обеспечиваемых средой выполнения с параллелизмом.The types of events that can be traced using the tracing functionality offered by the Concurrency Runtime.

enum ConcRT_EventType;

ЗначенияValues

ИмяName ОписаниеDescription
CONCRT_EVENT_ATTACH Тип события, представляющий действие присоединения к планировщику.An event type that represents the act of a attaching to a scheduler.
CONCRT_EVENT_BLOCK Тип события, представляющий акт блокирования контекста.An event type that represents the act of a context blocking.
CONCRT_EVENT_DETACH Тип события, представляющий действие отсоединения от планировщика.An event type that represents the act of a detaching from a scheduler.
CONCRT_EVENT_END Тип события, отмечающий начало пары событий начала/окончания.An event type that marks the beginning of a start/end event pair.
CONCRT_EVENT_GENERIC Тип события, используемый для прочих событий.An event type used for miscellaneous events.
CONCRT_EVENT_IDLE Тип события, представляющий действие контекста, которое становится бездействующим.An event type that represents the act of a context becoming idle.
CONCRT_EVENT_START Тип события, отмечающий начало пары событий начала/окончания.An event type that marks the beginning of a start/end event pair.
CONCRT_EVENT_UNBLOCK Тип события, представляющий действие разблокировки контекста.An event type that represents the act of unblocking a context.
CONCRT_EVENT_YIELD Тип события, представляющий акт выдается контекст.An event type that represents the act of a context yielding.

ТребованияRequirements

Заголовок: пространство имен ConcRT. h: ConcurrencyHeader: concrt.h Namespace: concurrency

Перечисление Concrt_TraceFlagsConcrt_TraceFlags Enumeration

Флажки трассировки для типов событийTrace flags for the event types

enum Concrt_TraceFlags;

ЗначенияValues

ИмяName ОписаниеDescription
AgentEventFlag
AllEventsFlag
ContextEventFlag
PPLEventFlag
ResourceManagerEventFlag
SchedulerEventFlag
VirtualProcessorEventFlag

ТребованияRequirements

Заголовок: ConcRT. hHeader: concrt.h

Перечисление КритикалрегионтипеCriticalRegionType Enumeration

Тип критической области, внутри которой находится контекст.The type of critical region a context is inside.

enum CriticalRegionType;

ЗначенияValues

ИмяName ОписаниеDescription
InsideCriticalRegion Указывает, что контекст находится внутри критической области.Indicates that the context is inside a critical region. В критической области асинхронные приостановки скрыты от планировщика.When inside a critical region, asynchronous suspensions are hidden from the scheduler. Если такая приостановка происходит, диспетчер ресурсов ждет, пока поток будет готов к запуску, и просто возобновит его вместо повторного вызова планировщика.Should such a suspension happen, the Resource Manager will wait for the thread to become runnable and simply resume it instead of invoking the scheduler again. Любые блокировки, сделанные внутри такого региона, должны быть выполнены крайне осторожно.Any locks taken inside such a region must be taken with extreme care.
InsideHyperCriticalRegion Указывает, что контекст находится внутри области, критической для Hyper-in.Indicates that the context is inside a hyper-critical region. В области, критической для Hyper-in, синхронные и асинхронные приостановки будут скрыты от планировщика.When inside a hyper-critical region, both synchronous and asynchronous suspensions are hidden from the scheduler. Если произойдет такая приостановка или блокировка, диспетчер ресурсов ждет, пока поток станет готов к запуску, и просто возобновит его вместо повторного вызова планировщика.Should such a suspension or blocking happen, the resource manager will wait for the thread to become runnable and simply resume it instead of invoking the scheduler again. Блокировки, сделанные внутри такого региона, никогда не должны использоваться совместно с кодом, выполняющимся за пределами такого региона.Locks taken inside such a region must never be shared with code running outside such a region. Это вызовет непредсказуемую взаимоблокировку.Doing so will cause unpredictable deadlock.
OutsideCriticalRegion Указывает, что контекст находится вне любой критической области.Indicates that the context is outside any critical region.

ТребованияRequirements

Заголовок: concrtrm. hHeader: concrtrm.h

Перечисление ДинамикпрогрессфидбакктипеDynamicProgressFeedbackType Enumeration

Используется политикой DynamicProgressFeedback для описания того, будет ли к ресурсам планировщика применена повторная балансировка в соответствии со статистическими данными, полученными из планировщика, или только на основе перехода виртуальных процессоров в состояние бездействия и из него через вызовы методов Activate и Deactivate для интерфейса IVirtualProcessorRoot.Used by the DynamicProgressFeedback policy to describe whether resources for the scheduler will be rebalanced according to statistical information gathered from the scheduler or only based on virtual processors going in and out of the idle state through calls to the Activate and Deactivate methods on the IVirtualProcessorRoot interface. Дополнительные сведения о доступных политиках планировщика см. в разделе полициелементкэй.For more information on available scheduler policies, see PolicyElementKey.

enum DynamicProgressFeedbackType;

ЗначенияValues

ИмяName ОписаниеDescription
ProgressFeedbackDisabled Планировщик не собирает сведения о ходе выполнения.The scheduler does not gather progress information. Перераспределение выполняется только на уровне подписки базового аппаратного потока.Rebalancing is done based solely on the subscription level of the underlying hardware thread. Дополнительные сведения об уровнях подписки см. в разделе IExecutionResource:: куррентсубскриптионлевел.For more information on subscription levels, see IExecutionResource::CurrentSubscriptionLevel.

Это значение зарезервировано для использования средой выполнения.This value is reserved for use by the runtime.
ProgressFeedbackEnabled Планировщик собирает сведения о ходе выполнения и передает их в Диспетчер ресурсов.The scheduler gathers progress information and passes it to the resource manager. Диспетчер ресурсов будет использовать эти статистические сведения для перераспределения ресурсов от имени планировщика в дополнение к уровню подписки базового аппаратного потока.The resource manager will utilize this statistical information to rebalance resources on behalf of the scheduler in addition to the subscription level of the underlying hardware thread. Дополнительные сведения об уровнях подписки см. в разделе IExecutionResource:: куррентсубскриптионлевел.For more information on subscription levels, see IExecutionResource::CurrentSubscriptionLevel.

Перечисление join_typejoin_type Enumeration

Тип блока обмена сообщениями join.The type of a join messaging block.

enum join_type;

ЗначенияValues

ИмяName ОписаниеDescription
greedy Жадные join блоки обмена сообщениями немедленно принимают сообщение при распространении.Greedy join messaging blocks immediately accept a message upon propagation. Это более эффективно, но имеет возможность динамической блокировки в зависимости от конфигурации сети.This is more efficient, but has the possibility for live-lock, depending on the network configuration.
non_greedy joinБлоки обмена сообщениями, не являющиеся жадными, откладывают сообщения и пытаются их использовать после того, как все поступили.Non-greedy join messaging blocks postpone messages and try and consume them after all have arrived. Они гарантированно работают, но выполняются медленнее.These are guaranteed to work, but slower.

ТребованияRequirements

Заголовок: agents.hHeader: agents.h

Перечисление message_statusmessage_status Enumeration

Допустимые ответы на предложение объекта message блоку.The valid responses for an offer of a message object to a block.

enum message_status;

ЗначенияValues

ИмяName ОписаниеDescription
accepted Цель приняла сообщение.The target accepted the message.
declined Целевой объект не принял сообщение.The target did not accept the message.
missed Целевой объект попытался принять сообщение, но он больше не был доступен.The target tried to accept the message, but it was no longer available.
postponed Целевой объект отложил сообщение.The target postponed the message.

ТребованияRequirements

Заголовок: agents.hHeader: agents.h

Перечисление ПолициелементкэйPolicyElementKey Enumeration

Ключи политики, описывающие аспекты поведения планировщика.Policy keys describing aspects of scheduler behavior. Каждый элемент политики описан с помощью пары «ключ — значение».Each policy element is described by a key-value pair. Дополнительные сведения о политиках планировщика и их влиянии на планировщики см. в разделе планировщик задач.For more information about scheduler policies and their impact on schedulers, see Task Scheduler.

enum PolicyElementKey;

ЗначенияValues

ИмяName ОписаниеDescription
ContextPriority Приоритет потока операционной системы каждого контекста в планировщике.The operating system thread priority of each context in the scheduler. Если для этого раздела задано значение, INHERIT_THREAD_PRIORITY контексты в планировщике будут наследовать приоритет потока, создавшего планировщик.If this key is set to the value INHERIT_THREAD_PRIORITY the contexts in the scheduler will inherit the priority of the thread that created the scheduler.

Допустимые значения: любое из допустимых значений для SetThreadPriority функции Windows и специальное значение. INHERIT_THREAD_PRIORITYValid values : Any of the valid values for the Windows SetThreadPriority function and the special value INHERIT_THREAD_PRIORITY

Значение по умолчанию: THREAD_PRIORITY_NORMALDefault value : THREAD_PRIORITY_NORMAL
ContextStackSize Зарезервированный размер стека каждого контекста в планировщике в килобайтах.The reserved stack size of each context in the scheduler in kilobytes.

Допустимые значения: положительные целые числаValid values : Positive integers

Значение по умолчанию: 0 , указывающее, что используется значение по умолчанию для размера стека.Default value : 0, indicating that the process' default value for stack size be used.
DynamicProgressFeedback Определяет, будут ли перераспределяться ресурсы для планировщика в соответствии со статистической информацией, собранной из планировщика, или только на основе уровня подписки базовых аппаратных потоков.Determines whether the resources for the scheduler will be rebalanced according to statistical information gathered from the scheduler or only based on the subscription level of underlying hardware threads. Дополнительные сведения см. в разделе динамикпрогрессфидбакктипе.For more information, see DynamicProgressFeedbackType.

Допустимые значения: член DynamicProgressFeedbackType перечисления, ProgressFeedbackEnabled либо ProgressFeedbackDisabledValid values : A member of the DynamicProgressFeedbackType enumeration, either ProgressFeedbackEnabled or ProgressFeedbackDisabled

Значение по умолчанию: ProgressFeedbackEnabledDefault value : ProgressFeedbackEnabled
LocalContextCacheSize Если SchedulingProtocol для ключа политики задано значение EnhanceScheduleGroupLocality , это указывает максимальное количество доступных для выполнения контекстов, которые могут быть кэшированы в каждой локальной очереди виртуального процессора.When the SchedulingProtocol policy key is set to the value EnhanceScheduleGroupLocality, this specifies the maximum number of runnable contexts allowed to be cached in per virtual processor local queues. Такие контексты обычно выполняются в порядке ЛИФО на виртуальном процессоре, который привел к готовности их к запуску.Such contexts will typically run in last-in-first-out (LIFO) order on the virtual processor that caused them to become runnable. Обратите внимание, что этот ключ политики не имеет смысла, если SchedulingProtocol для ключа задано значение EnhanceForwardProgress .Note that this policy key has no meaning when the SchedulingProtocol key is set to the value EnhanceForwardProgress.

Допустимые значения: неотрицательные целые числаValid values : Non-negative integers

Значение по умолчанию: 8Default value : 8
MaxConcurrency Максимальный уровень параллелизма, требуемый планировщиком.The maximum concurrency level desired by the scheduler. Диспетчер ресурсов попытается изначально выделить столько виртуальных процессоров.The resource manager will try to initially allocate this many virtual processors. Специальное значение максексекутионресаурцес указывает, что требуемый уровень параллелизма совпадает с количеством аппаратных потоков на компьютере.The special value MaxExecutionResources indicates that the desired concurrency level is same as the number of hardware threads on the machine. Если значение, указанное для MinConcurrency , больше, чем число аппаратных потоков на компьютере и MaxConcurrency указано как MaxExecutionResources , значение для MaxConcurrency будет возникать в соответствии с MinConcurrency заданным значением.If the value specified for MinConcurrency is greater than the number of hardware threads on the machine and MaxConcurrency is specified as MaxExecutionResources, the value for MaxConcurrency is raised to match what is set for MinConcurrency.

Допустимые значения: положительные целые числа и специальное значение MaxExecutionResourcesValid values : Positive integers and the special value MaxExecutionResources

Значение по умолчанию: MaxExecutionResourcesDefault value : MaxExecutionResources
MaxPolicyElementKey Ключ элемента максимальной политики.The maximum policy element key. Недопустимый ключ элемента.Not a valid element key.
MinConcurrency Минимальный уровень параллелизма, который должен быть предоставлен планировщику диспетчером ресурсов.The minimum concurrency level that must be provided to the scheduler by the resource manager. Число виртуальных процессоров, назначенных планировщику, никогда не будет ниже минимального.The number of virtual processors assigned to a scheduler will never go below the minimum. Специальное значение максексекутионресаурцес указывает, что минимальный уровень параллелизма совпадает с количеством аппаратных потоков на компьютере.The special value MaxExecutionResources indicates that the minimum concurrency level is same as the number of hardware threads on the machine. Если значение, указанное для MaxConcurrency , меньше, чем число аппаратных потоков на компьютере и MinConcurrency указано как MaxExecutionResources , значение для MinConcurrency будет меньше, чтобы соответствовать значению для параметра MaxConcurrency .If the value specified for MaxConcurrency is less than the number of hardware threads on the machine and MinConcurrency is specified as MaxExecutionResources, the value for MinConcurrency is lowered to match what is set for MaxConcurrency.

Допустимые значения: неотрицательные целые числа и специальное значение MaxExecutionResources .Valid values : Non-negative integers and the special value MaxExecutionResources. Обратите внимание, что для политик планировщика, используемых для создания планировщиков исполняющей среды с параллелизмом, значение 0 недопустимо.Note that for scheduler policies used for the construction of Concurrency Runtime schedulers, the value 0 is invalid.

Значение по умолчанию: 1Default value : 1
SchedulerKind Тип потоков, которые будут использоваться планировщиком для базовых контекстов выполнения.The type of threads that the scheduler will utilize for underlying execution contexts. Дополнительные сведения см. в разделе SchedulerType.For more information, see SchedulerType.

Допустимые значения: элемент перечисления SchedulerType, например ThreadSchedulerValid values : A member of the SchedulerType enumeration, for example, ThreadScheduler

Значение по умолчанию: ThreadScheduler .Default value : ThreadScheduler. Это преобразуется в потоки Win32 во всех операционных системах.This translates to Win32 threads on all operating systems.
SchedulingProtocol Описывает, какой алгоритм планирования будет использоваться планировщиком.Describes which scheduling algorithm will be used by the scheduler. Дополнительные сведения см. в разделе счедулингпротоколтипе.For more information, see SchedulingProtocolType.

Допустимые значения: член SchedulingProtocolType перечисления, EnhanceScheduleGroupLocality либо EnhanceForwardProgressValid values : A member of the SchedulingProtocolType enumeration, either EnhanceScheduleGroupLocality or EnhanceForwardProgress

Значение по умолчанию: EnhanceScheduleGroupLocalityDefault value : EnhanceScheduleGroupLocality
TargetOversubscriptionFactor Предварительное количество виртуальных процессоров на аппаратный поток.Tentative number of virtual processors per hardware thread. Коэффициент переподписки целевого объекта при необходимости может быть увеличен диспетчером ресурсов для обеспечения MaxConcurrency аппаратными потоками на компьютере.The target oversubscription factor can be increased by the Resource Manager, if necessary, to satisfy MaxConcurrency with the hardware threads on the machine.

Допустимые значения: положительные целые числаValid values : Positive integers

Значение по умолчанию: 1Default value : 1
WinRTInitialization

ТребованияRequirements

Заголовок: ConcRT. hHeader: concrt.h

Перечисление SchedulerTypeSchedulerType Enumeration

Используется политикой SchedulerKind для описания типа потоков, которые должен использовать планировщик для базовых контекстов выполнения.Used by the SchedulerKind policy to describe the type of threads that the scheduler should utilize for underlying execution contexts. Дополнительные сведения о доступных политиках планировщика см. в разделе полициелементкэй.For more information on available scheduler policies, see PolicyElementKey.

enum SchedulerType;

ЗначенияValues

ИмяName ОписаниеDescription
ThreadScheduler Указывает явный запрос обычных потоков Win32.Indicates an explicit request of regular Win32 threads.
UmsThreadDefault Планируемые потоки пользовательского режима (UMS) не поддерживаются в среда выполнения с параллелизмом в Visual Studio 2013.User-mode schedulable (UMS) threads are not supported in the Concurrency Runtime in Visual Studio 2013. Использование UmsThreadDefault в качестве значения для политики SchedulerType не приведет к ошибке.Using UmsThreadDefault as a value for the SchedulerType policy will not result in an error. Однако, планировщик, созданный с помощью этой политики, по умолчанию будет настроен на использование потоков Win32.However, a scheduler created with that policy will default to using Win32 threads.

ТребованияRequirements

Заголовок: ConcRT. hHeader: concrt.h

Перечисление СчедулингпротоколтипеSchedulingProtocolType Enumeration

Используется политикой SchedulingProtocol для описания того, какой алгоритм планирования будет использоваться для планировщика.Used by the SchedulingProtocol policy to describe which scheduling algorithm will be utilized for the scheduler. Дополнительные сведения о доступных политиках планировщика см. в разделе полициелементкэй.For more information on available scheduler policies, see PolicyElementKey.

enum SchedulingProtocolType;

ЗначенияValues

ИмяName ОписаниеDescription
EnhanceForwardProgress Планировщик предпочитает выполнять циклический перебор групп расписаний после выполнения каждой задачи.The scheduler prefers to round-robin through schedule groups after executing each task. Незаблокированные контексты обычно планируются по принципу "первым поступил — первым обслужен" (FIFO).Unblocked contexts are typically scheduled in a first-in-first-out (FIFO) fashion. Виртуальные процессоры не кэшируют незаблокированные контексты.Virtual processors do not cache unblocked contexts.
EnhanceScheduleGroupLocality Планировщик предпочитает продолжить работу над задачами в текущей группе расписаний перед перемещением в другую группу расписаний.The scheduler prefers to continue to work on tasks within the current schedule group before moving to another schedule group. Незаблокированные контексты кэшируются для каждого виртуального процессора и обычно планируются в режиме "последним поступает — первым обслужен" виртуальным процессором, который разблокировал их.Unblocked contexts are cached per virtual-processor and are typically scheduled in a last-in-first-out (LIFO) fashion by the virtual processor which unblocked them.

ТребованияRequirements

Заголовок: ConcRT. hHeader: concrt.h

Перечисление СвитчингпроксистатеSwitchingProxyState Enumeration

Используется для обозначения состояния прокси-потока, когда он выполняет совместное переключение контекста на другой прокси-поток.Used to denote the state a thread proxy is in, when it is executing a cooperative context switch to a different thread proxy.

enum SwitchingProxyState;

ЗначенияValues

ИмяName ОписаниеDescription
Blocking Указывает, что вызывающий поток блокируется совместно и должен быть исключительно владельцем вызывающего объекта до тех пор, пока снова не запустятся и выполняется другое действие.Indicates that the calling thread is cooperatively blocking and should be exclusively owned by the caller until subsequently running again and performing other action.
Idle Указывает, что вызывающий поток больше не нужен планировщику и возвращается в диспетчер ресурсов.Indicates that the calling thread is no longer needed by the scheduler and is being returned to the Resource Manager. Контекст, который был отправлен, больше не может использоваться диспетчер ресурсов.The context which was being dispatched is no longer able to be utilized by the Resource Manager.
Nesting Указывает, что вызывающий поток вкладывает дочерний планировщик и необходим вызывающему объекту для присоединения к другому планировщику.Indicates that the calling thread is nesting a child scheduler and is needed by the caller, in order to attach to a different scheduler.

КомментарииRemarks

Параметр типа SwitchingProxyState передается в метод IThreadProxy::SwitchTo для указания Диспетчер ресурсов, как обрабатывать прокси-поток, выполняющий вызов.A parameter of type SwitchingProxyState is passed in to the method IThreadProxy::SwitchTo to instruct the Resource Manager how to treat the thread proxy that is making the call.

Дополнительные сведения об использовании этого типа см. в разделе исреадпрокси:: свитчто.For more information on how this type is used, see IThreadProxy::SwitchTo.

Перечисление task_group_statustask_group_status Enumeration

Описывает состояние выполнения объекта task_group или structured_task_group.Describes the execution status of a task_group or structured_task_group object. Значение этого типа возвращается многочисленными методами, которые ожидают выполнения задач, запланированных для завершения группой задач.A value of this type is returned by numerous methods that wait on tasks scheduled to a task group to complete.

enum task_group_status;

ЗначенияValues

ИмяName ОписаниеDescription
canceled Объект task_group или structured_task_group отменен.The task_group or structured_task_group object was canceled. Одна или несколько задач, возможно, не были выполнены.One or more tasks may not have executed.
completed Задачи, поставленные в очередь объекта task_group или structured_task_group, завершены успешно.The tasks queued to the task_group or structured_task_group object completed successfully.
not_complete Задачи, поставленные в очередь объекта task_group, не завершены.The tasks queued to the task_group object have not completed. Обратите внимание, что это значение в настоящее время не возвращается исполняющей средой с параллелизмом.Note that this value is not presently returned by the Concurrency Runtime.

ТребованияRequirements

Заголовок: пплинтерфаце. hHeader: pplinterface.h

Перечисление ВинртинитиализатионтипеWinRTInitializationType Enumeration

Используется политикой WinRTInitialization для описания того, будет ли среда выполнения Windows инициализирована в потоках планировщика для приложения, которое работает в операционных системах Windows с версии 8 или выше, и каким образом это будет выполняться.Used by the WinRTInitialization policy to describe whether and how the Windows Runtime will be initialized on scheduler threads for an application which runs on operating systems with version Windows 8 or higher. Дополнительные сведения о доступных политиках планировщика см. в разделе полициелементкэй.For more information on available scheduler policies, see PolicyElementKey.

enum WinRTInitializationType;

ЗначенияValues

ИмяName ОписаниеDescription
DoNotInitializeWinRT Когда приложение выполняется в операционной системе Windows версии 8 и выше, потоки в планировщике не инициализируют среду выполнения Windows.When the application is run on operating systems with version Windows 8 or higher, threads within the scheduler will not initialize the Windows Runtime .
InitializeWinRTAsMTA Когда приложение выполняется в операционной системе Windows версии 8 или выше, каждый поток в планировщике инициализирует среду выполнения Windows и объявляет, что это часть многопотокового подразделения.When the application is run on operating systems with version Windows 8 or higher, each thread within the scheduler will initialize the Windows Runtime and declare that it is part of the multithreaded apartment.

ТребованияRequirements

Заголовок: ConcRT. hHeader: concrt.h

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

Пространство имен Concurrencyconcurrency Namespace