Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В пространстве имен доступны следующие перечисления:
Перечисление agent_status
Допустимые состояния для объекта .
enum agent_status;
Значения
| Имя | Описание |
|---|---|
agent_canceled |
Объект отменен. |
agent_created |
было создано, но не запущено. |
agent_done |
Выполнение завершено без отмены. |
agent_runnable |
Запущено , но не введено его метод. |
agent_started |
Началось . |
Замечания
Дополнительные сведения см. в разделе "Асинхронные агенты".
Требования
Заголовок: concrt.h
Перечисление Agents_EventType
Типы событий, которые можно отслеживать с помощью функции трассировки, предоставляемой библиотекой агентов.
enum Agents_EventType;
Значения
| Имя | Описание |
|---|---|
AGENTS_EVENT_CREATE |
Тип события, который представляет создание объекта |
AGENTS_EVENT_DESTROY |
Тип события, который представляет удаление объекта |
AGENTS_EVENT_END |
Тип события, который представляет завершение некоторой обработки |
AGENTS_EVENT_LINK |
Тип события, который представляет связывание блоков сообщений |
AGENTS_EVENT_NAME |
Тип события, который представляет имя для объекта |
AGENTS_EVENT_SCHEDULE |
Тип события, который представляет расписание процесса |
AGENTS_EVENT_START |
Тип события, который представляет запуск некоторой обработки |
AGENTS_EVENT_UNLINK |
Тип события, который представляет отвязку блоков сообщений |
Требования
Заголовок: concrt.h
Перечисление ConcRT_EventType
Типы событий, которые можно отслеживать с помощью функций трассировки, обеспечиваемых средой выполнения с параллелизмом.
enum ConcRT_EventType;
Значения
| Имя | Описание |
|---|---|
CONCRT_EVENT_ATTACH |
Тип события, представляющий действие подключения к планировщику. |
CONCRT_EVENT_BLOCK |
Тип события, представляющий действие блокировки контекста. |
CONCRT_EVENT_DETACH |
Тип события, представляющий действие отсоединения от диспетчера задач. |
CONCRT_EVENT_END |
Тип события, обозначающий начало пары событий начало/конец. |
CONCRT_EVENT_GENERIC |
Тип события, используемый для других событий. |
CONCRT_EVENT_IDLE |
Тип события, представляющий состояние контекста, переходящего в режим простоя. |
CONCRT_EVENT_START |
Тип события, обозначающий начало пары событий начало/конец. |
CONCRT_EVENT_UNBLOCK |
Тип события, представляющий акт разблокировки контекста. |
CONCRT_EVENT_YIELD |
Тип события, представляющий действие возвращаемого контекста. |
Требования
Заголовок: concrt.h Пространство имен: concurrency
Перечисление Concrt_TraceFlags
Флаги трассировки для типов событий
enum Concrt_TraceFlags;
Значения
| Имя | Описание |
|---|---|
AgentEventFlag |
|
AllEventsFlag |
|
ContextEventFlag |
|
PPLEventFlag |
|
ResourceManagerEventFlag |
|
SchedulerEventFlag |
|
VirtualProcessorEventFlag |
Требования
Заголовок: concrt.h
Перечисление CriticalRegionType
Тип критической области, внутри которой находится контекст.
enum CriticalRegionType;
Значения
| Имя | Описание |
|---|---|
InsideCriticalRegion |
Указывает, что контекст находится в критическом регионе. В критическом регионе асинхронные приостановки скрыты от планировщика. Если такая приостановка произойдет, Resource Manager будет ожидать доступности потока и просто возобновит его вместо повторного вызова планировщика. Любые замки, принятые внутри такого региона, должны быть приняты с крайней осторожностью. |
InsideHyperCriticalRegion |
Указывает, что контекст находится внутри гиперкритических регионов. Находясь внутри гиперкритической области, синхронные и асинхронные приостановки скрыты от планировщика. Если такая приостановка или блокировка произойдет, диспетчер ресурсов ожидает запуска потока и просто возобновляет его, а не вызовет планировщика снова. Блокировки, принятые внутри такого региона, никогда не должны предоставляться совместно с кодом, работающим за пределами такого региона. Это приведет к непредсказуемой взаимоблокировке. |
OutsideCriticalRegion |
Указывает, что контекст находится вне любого критического региона. |
Требования
Заголовок: concrtrm.h
Перечисление DynamicProgressFeedbackType
Используется политикой для описания того, будет ли к ресурсам планировщика применена повторная балансировка в соответствии со статистическими данными, полученными из планировщика, или только на основе перехода виртуальных процессоров в состояние бездействия и из него через вызовы методов и для интерфейса . Дополнительные сведения о доступных политиках планировщика см. в разделе PolicyElementKey.
enum DynamicProgressFeedbackType;
Значения
| Имя | Описание |
|---|---|
ProgressFeedbackDisabled |
Планировщик не собирает сведения о ходе выполнения. Перебалансирование выполняется исключительно на основании уровня подписки, связанной с основным аппаратным потоком. Дополнительные сведения об уровнях подписки см. в разделе IExecutionResource::CurrentSubscriptionLevel. Это значение зарезервировано для использования средой выполнения. |
ProgressFeedbackEnabled |
Планировщик собирает сведения о ходе выполнения и передает их диспетчеру ресурсов. Диспетчер ресурсов будет использовать эту статистическую информацию для перебалансировки ресурсов от имени планировщика, помимо уровня подписки базового аппаратного потока. Дополнительные сведения об уровнях подписки см. в разделе IExecutionResource::CurrentSubscriptionLevel. |
Перечисление join_type
Тип блока обмена сообщениями .
enum join_type;
Значения
| Имя | Описание |
|---|---|
greedy |
Жадные блоки обмена сообщениями сразу же принимают сообщение при его распространении. Это более эффективно, но имеет возможность динамической блокировки в зависимости от конфигурации сети. |
non_greedy |
Ненасытные сообщающие блоки откладывают сообщения и пытаются использовать их после того, как все они прибудут. Они гарантированно работают, но медленнее. |
Требования
Заголовок: agents.h
Перечисление message_status
Допустимые ответы на предложение объекта блоку.
enum message_status;
Значения
| Имя | Описание |
|---|---|
accepted |
Целевой объект принял сообщение. |
declined |
Целевой объект не принял сообщение. |
missed |
Целевой объект пытался принять сообщение, но он больше недоступен. |
postponed |
Целевой объект отложил сообщение. |
Требования
Заголовок: agents.h
Перечисление PolicyElementKey
Ключи политики, описывающие аспекты поведения планировщика. Каждый элемент политики описан с помощью пары «ключ — значение». Для получения дополнительной информации о политиках планировщика и их влиянии на планировщики, см. Планировщик задач.
enum PolicyElementKey;
Значения
| Имя | Описание |
|---|---|
ContextPriority |
Приоритет потока операционной системы каждого контекста в планировщике. Если этот ключ имеет значение , контексты в планировщике наследуют приоритет потока, созданного планировщиком. Допустимые значения: любое из допустимых значений функции #REF! SetThreadPriority и специального значения INHERIT_THREAD_PRIORITYЗначение по умолчанию: |
ContextStackSize |
Зарезервированный размер стека каждого контекста в планировщике в килобайтах. Допустимые значения: положительные целые числа Значение по умолчанию: , указывающее, что значение по умолчанию процесса для размера стека используется. |
DynamicProgressFeedback |
Определяет, будут ли ресурсы планировщика перераспределяться на основе статистических данных, собранных планировщиком, или только в зависимости от уровня задействования базовых потоков оборудования. Дополнительные сведения см. в разделе DynamicProgressFeedbackType. Допустимые значения: элемент перечисления , или , или Значение по умолчанию: |
LocalContextCacheSize |
Если для ключа политики задано значение , это указывает максимальное количество исполняемых контекстов, которые можно кэшировать в локальных очередях виртуального процессора. Такие контексты обычно выполняются в порядке «последний пришел – первый ушел» (LIFO) на виртуальном процессоре, который сделал их готовыми к выполнению. Обратите внимание, что этот ключ политики не имеет значения, если для ключа задано значение . Допустимые значения: неотрицательных целых чисел Значение по умолчанию: |
MaxConcurrency |
Максимальный уровень параллелизма, необходимый планировщику. Диспетчер ресурсов попытается первоначально выделить это множество виртуальных процессоров. Специальное значение MaxExecutionResources указывает, что требуемый уровень параллелизма совпадает с количеством аппаратных потоков на компьютере. Если указанное значение больше количества аппаратных потоков на компьютере и указано в качестве значения, то значение увеличивается, чтобы соответствовать значению, указанному для . Допустимые значения: положительные целые числа и специальное значение Значение по умолчанию: |
MaxPolicyElementKey |
Ключ максимального элемента политики. Недопустимый ключ элемента. |
MinConcurrency |
Минимальный уровень параллелизма, который должен быть предоставлен планировщику диспетчером ресурсов. Число виртуальных процессоров, назначенных планировщику, никогда не будет ниже минимального. Специальное значение MaxExecutionResources указывает, что минимальный уровень параллелизма совпадает с количеством аппаратных потоков на компьютере. Если указанное значение для меньше количества аппаратных потоков на компьютере и указано как , то значение для уменьшается, чтобы соответствовать заданному для . Допустимые значения: неотрицательных целых чисел и специальное значение . Обратите внимание, что для политик планировщика, используемых для создания планировщиков среды выполнения Concurrency Runtime, значение недопустимо. Значение по умолчанию: |
SchedulerKind |
Тип потоков, которые планировщик будет использовать для базовых контекстов выполнения. Дополнительные сведения см. в разделе SchedulerType. Допустимые значения: элемент перечисления , например Значение по умолчанию: . Это преобразуется в потоки Win32 во всех операционных системах. |
SchedulingProtocol |
Описывает, какой алгоритм планирования будет использоваться планировщиком. Дополнительные сведения см. в разделе SchedulingProtocolType. Допустимые значения: элемент перечисления , или , или Значение по умолчанию: |
TargetOversubscriptionFactor |
Предварительное число виртуальных процессоров для каждого аппаратного потока. Целевой коэффициент переподписки может быть увеличен Менеджером ресурсов, если это необходимо, для удовлетворения MaxConcurrency аппаратными потоками на машине.Допустимые значения: положительные целые числа Значение по умолчанию: |
WinRTInitialization |
Требования
Заголовок: concrt.h
Перечисление SchedulerType
Используется политикой для описания типа потоков, которые должен использовать планировщик для базовых контекстов выполнения. Дополнительные сведения о доступных политиках планировщика см. в разделе PolicyElementKey.
enum SchedulerType;
Значения
| Имя | Описание |
|---|---|
ThreadScheduler |
Указывает явный запрос обычных потоков Win32. |
UmsThreadDefault |
Потоки UMS в пользовательском режиме не поддерживаются в Concurrency Runtime в Visual Studio 2013. Использование в качестве значения для политики не приведет к ошибке. Однако, планировщик, созданный с помощью этой политики, по умолчанию будет настроен на использование потоков Win32. |
Требования
Заголовок: concrt.h
Перечисление типов протокола планирования
Используется политикой для описания того, какой алгоритм планирования будет использоваться для планировщика. Дополнительные сведения о доступных политиках планировщика см. в разделе PolicyElementKey.
enum SchedulingProtocolType;
Значения
| Имя | Описание |
|---|---|
EnhanceForwardProgress |
Планировщик предпочитает проходить по кругу через группы расписаний после выполнения каждой задачи. Разблокированные контексты обычно выполняются по принципу "первым пришел, первым вышел" (FIFO). Виртуальные процессоры не кэшируют разблокированные контексты. |
EnhanceScheduleGroupLocality |
Планировщик предпочитает продолжать работать над задачами в текущей группе расписаний, прежде чем переходить в другую группу расписаний. Разблокированные контексты кэшируются для каждого виртуального процессора и обычно распределяются по принципу последний пришёл – первый вышел (LIFO) виртуальным процессором, который их разблокировал. |
Требования
Заголовок: concrt.h
Перечисление SwitchingProxyState
Используется для обозначения состояния прокси-потока, когда он выполняет совместное переключение контекста на другой прокси-поток.
enum SwitchingProxyState;
Значения
| Имя | Описание |
|---|---|
Blocking |
Указывает, что вызывающий поток кооперативно блокируется и должен находиться в исключительном владении вызывающего до повторного запуска и выполнения других действий. |
Idle |
Указывает, что вызывающий поток больше не нужен планировщику и возвращается диспетчеру ресурсов. Контекст, который был отправлен, больше не может использоваться диспетчером ресурсов. |
Nesting |
Указывает, что вызывающий поток является вложенным в дочерний планировщик и необходим вызывающему для подключения к другому планировщику. |
Замечания
Параметр типа SwitchingProxyState передается в метод IThreadProxy::SwitchTo, чтобы указать Resource Manager, как обрабатывать прокси-сервер потока, выполняющий вызов.
Дополнительные сведения об использовании этого типа см. в разделе IThreadProxy::SwitchTo.
Перечисление «task_group_status»
Описывает состояние выполнения объекта или . Значение этого типа возвращается многочисленными методами, которые ожидают завершения задач, запланированных на выполнение в группе задач.
enum task_group_status;
Значения
| Имя | Описание |
|---|---|
canceled |
Объект или отменен. Одна или несколько задач, возможно, не были выполнены. |
completed |
Задачи, поставленные в очередь объекта или , завершены успешно. |
not_complete |
Задачи, поставленные в очередь объекта , не завершены. Обратите внимание, что это значение в текущий момент не возвращается исполняющей средой Concurrency Runtime. |
Требования
Заголовок: pplinterface.h
Перечисление WinRTInitializationType
Используется политикой WinRTInitialization для описания того, и как среда выполнения Windows будет инициализировано в потоках планировщика для приложения, работающего в операционных системах с версией #REF! или более поздней. Дополнительные сведения о доступных политиках планировщика см. в разделе PolicyElementKey.
enum WinRTInitializationType;
Значения
| Имя | Описание |
|---|---|
DoNotInitializeWinRT |
При запуске приложения в операционных системах с версией #REF! или более поздней, потоки в планировщике не инициализируют среда выполнения Windows. |
InitializeWinRTAsMTA |
При запуске приложения в операционных системах, начиная с #REF! и выше, каждый поток в диспетчере задач инициализирует среду выполнения Windows и заявляет, что он находится в многопоточной среде. |
Требования
Заголовок: concrt.h
См. также
Пространство имен параллелизм