Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Перечисление agent_status
Допустимые состояния для объекта agent.
enum agent_status;
Значения
| Имя | Описание |
|---|---|
agent_canceled |
Объект agent отменен. |
agent_created |
Создано agent , но не запущено. |
agent_done |
Завершено agent без отмены. |
agent_runnable |
Запущено agent , но не введено его run метод. |
agent_started |
Началось agent . |
Замечания
Дополнительные сведения см. в разделе "Асинхронные агенты".
Требования
Заголовок: 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 |
Тип события, обозначающий начало пары событий start/end. |
CONCRT_EVENT_GENERIC |
Тип события, используемый для других событий. |
CONCRT_EVENT_IDLE |
Тип события, представляющий действие контекста, который становится бездействующим. |
CONCRT_EVENT_START |
Тип события, обозначающий начало пары событий start/end. |
CONCRT_EVENT_UNBLOCK |
Тип события, представляющий акт разблокировки контекста. |
CONCRT_EVENT_YIELD |
Тип события, представляющий действие возвращаемого контекста. |
Требования
Заголовок: пространство имен concrt.h: параллелизм
Перечисление Concrt_TraceFlags
Флажки трассировки для типов событий
enum Concrt_TraceFlags;
Значения
| Имя | Описание |
|---|---|
AgentEventFlag |
|
AllEventsFlag |
|
ContextEventFlag |
|
PPLEventFlag |
|
ResourceManagerEventFlag |
|
SchedulerEventFlag |
|
VirtualProcessorEventFlag |
Требования
Заголовок: concrt.h
Перечисление CriticalRegionType
Тип критической области, внутри которой находится контекст.
enum CriticalRegionType;
Значения
| Имя | Описание |
|---|---|
InsideCriticalRegion |
Указывает, что контекст находится в критическом регионе. В критическом регионе асинхронные приостановки скрыты от планировщика. Если такая приостановка произойдет, Диспетчер ресурсов будет ждать запуска потока и просто возобновить его, а не снова вызвать планировщик. Любые замки, принятые внутри такого региона, должны быть приняты с крайней осторожностью. |
InsideHyperCriticalRegion |
Указывает, что контекст находится внутри гиперкритических регионов. При использовании гиперкритических регионов синхронные и асинхронные приостановки скрыты от планировщика. Если такая приостановка или блокировка произойдет, диспетчер ресурсов ожидает запуска потока и просто возобновляет его, а не вызовет планировщика снова. Блокировки, принятые внутри такого региона, никогда не должны предоставляться совместно с кодом, работающим за пределами такого региона. Это приведет к непредсказуемой взаимоблокировки. |
OutsideCriticalRegion |
Указывает, что контекст находится вне любого критического региона. |
Требования
Заголовок: concrtrm.h
Перечисление DynamicProgressFeedbackType
Используется политикой DynamicProgressFeedback для описания того, будет ли к ресурсам планировщика применена повторная балансировка в соответствии со статистическими данными, полученными из планировщика, или только на основе перехода виртуальных процессоров в состояние бездействия и из него через вызовы методов Activate и Deactivate для интерфейса IVirtualProcessorRoot. Дополнительные сведения о доступных политиках планировщика см. в разделе PolicyElementKey.
enum DynamicProgressFeedbackType;
Значения
| Имя | Описание |
|---|---|
ProgressFeedbackDisabled |
Планировщик не собирает сведения о ходе выполнения. Перебалансирование выполняется исключительно на уровне подписки базового аппаратного потока. Дополнительные сведения об уровнях подписки см. в разделе IExecutionResource::CurrentSubscriptionLevel. Это значение зарезервировано для использования средой выполнения. |
ProgressFeedbackEnabled |
Планировщик собирает сведения о ходе выполнения и передает его диспетчеру ресурсов. Диспетчер ресурсов будет использовать эту статистическую информацию для перебалансировать ресурсы от имени планировщика в дополнение к уровню подписки базового потока оборудования. Дополнительные сведения об уровнях подписки см. в разделе IExecutionResource::CurrentSubscriptionLevel. |
Перечисление join_type
Тип блока обмена сообщениями join.
enum join_type;
Значения
| Имя | Описание |
|---|---|
greedy |
Жадные join блоки обмена сообщениями немедленно принимают сообщение при распространении. Это более эффективно, но имеет возможность динамической блокировки в зависимости от конфигурации сети. |
non_greedy |
Не жадные join сообщения блоки откладывают сообщения и пытаются использовать их после прибытия. Они гарантированно работают, но медленнее. |
Требования
Заголовок: agents.h
Перечисление message_status
Допустимые ответы на предложение объекта message блоку.
enum message_status;
Значения
| Имя | Описание |
|---|---|
accepted |
Целевой объект принял сообщение. |
declined |
Целевой объект не принял сообщение. |
missed |
Целевой объект пытался принять сообщение, но он больше недоступен. |
postponed |
Целевой объект отложил сообщение. |
Требования
Заголовок: agents.h
Перечисление PolicyElementKey
Ключи политики, описывающие аспекты поведения планировщика. Каждый элемент политики описан с помощью пары «ключ — значение». Дополнительные сведения о политиках планировщика и их влиянии на планировщики см. в разделе Планировщик задач.
enum PolicyElementKey;
Значения
| Имя | Описание |
|---|---|
ContextPriority |
Приоритет потока операционной системы каждого контекста в планировщике. Если этот ключ имеет значение INHERIT_THREAD_PRIORITY , контексты в планировщике наследуют приоритет потока, созданного планировщиком.Допустимые значения: любое из допустимых значений для функции Windows SetThreadPriority и специального значения INHERIT_THREAD_PRIORITYЗначение по умолчанию: THREAD_PRIORITY_NORMAL |
ContextStackSize |
Зарезервированный размер стека каждого контекста в планировщике в килобайтах. Допустимые значения: положительные целые числа Значение по умолчанию: 0, указывающее, что значение по умолчанию процесса для размера стека используется. |
DynamicProgressFeedback |
Определяет, будут ли ресурсы планировщика перебалансироваться в соответствии со статистическими данными, собранными планировщиком или только на основе уровня подписки базовых потоков оборудования. Дополнительные сведения см. в разделе DynamicProgressFeedbackType. Допустимые значения: элемент DynamicProgressFeedbackType перечисления либо ProgressFeedbackEnabled или ProgressFeedbackDisabledЗначение по умолчанию: ProgressFeedbackEnabled |
LocalContextCacheSize |
SchedulingProtocol Если для ключа политики задано значениеEnhanceScheduleGroupLocality, это указывает максимальное количество контекстов запуска, которые разрешено кэшировать в локальных очередях виртуального процессора. Такие контексты обычно выполняются в порядке последней версии (LIFO) на виртуальном процессоре, который привел к их запуску. Обратите внимание, что этот ключ политики не имеет значения, если SchedulingProtocol для ключа задано значение EnhanceForwardProgress.Допустимые значения: неотрицательных целых чисел Значение по умолчанию: 8 |
MaxConcurrency |
Максимальный уровень параллелизма, необходимый планировщику. Диспетчер ресурсов попытается первоначально выделить это множество виртуальных процессоров. Специальное значение MaxExecutionResources указывает, что требуемый уровень параллелизма совпадает с количеством аппаратных потоков на компьютере. Если указанное значение MinConcurrency больше количества аппаратных потоков на компьютере и MaxConcurrency указано в качестве MaxExecutionResourcesзначения, то значение MaxConcurrency для этого создается, чтобы соответствовать заданному значению MinConcurrency.Допустимые значения: положительные целые числа и специальное значение MaxExecutionResourcesЗначение по умолчанию: MaxExecutionResources |
MaxPolicyElementKey |
Максимальный ключ элемента политики. Недопустимый ключ элемента. |
MinConcurrency |
Минимальный уровень параллелизма, который должен быть предоставлен планировщику диспетчером ресурсов. Число виртуальных процессоров, назначенных планировщику, никогда не будет ниже минимального. Специальное значение MaxExecutionResources указывает, что минимальный уровень параллелизма совпадает с количеством аппаратных потоков на компьютере. Если указанное значение MaxConcurrency меньше количества аппаратных потоков на компьютере и MinConcurrency указано в качестве MaxExecutionResourcesзначения, значение MinConcurrency для которых меньше, чтобы соответствовать заданному значению MaxConcurrency.Допустимые значения: неотрицательных целых чисел и специальное значение MaxExecutionResources. Обратите внимание, что для политик планировщика, используемых для создания планировщиков исполняющей среды с параллелизмом, значение 0 недопустимо.Значение по умолчанию: 1 |
SchedulerKind |
Тип потоков, которые планировщик будет использовать для базовых контекстов выполнения. Дополнительные сведения см. в разделе SchedulerType. Допустимые значения: элемент перечисления SchedulerType, например ThreadSchedulerЗначение по умолчанию: ThreadScheduler. Это преобразуется в потоки Win32 во всех операционных системах. |
SchedulingProtocol |
Описывает, какой алгоритм планирования будет использоваться планировщиком. Дополнительные сведения см. в разделе SchedulingProtocolType. Допустимые значения: элемент SchedulingProtocolType перечисления либо EnhanceScheduleGroupLocality или EnhanceForwardProgressЗначение по умолчанию: EnhanceScheduleGroupLocality |
TargetOversubscriptionFactor |
Предварительное число виртуальных процессоров для каждого аппаратного потока. Коэффициент переподписки целевого объекта при необходимости может быть увеличен диспетчером ресурсов для обеспечения MaxConcurrency аппаратными потоками на компьютере.Допустимые значения: положительные целые числа Значение по умолчанию: 1 |
WinRTInitialization |
Требования
Заголовок: concrt.h
Перечисление SchedulerType
Используется политикой SchedulerKind для описания типа потоков, которые должен использовать планировщик для базовых контекстов выполнения. Дополнительные сведения о доступных политиках планировщика см. в разделе PolicyElementKey.
enum SchedulerType;
Значения
| Имя | Описание |
|---|---|
ThreadScheduler |
Указывает явный запрос обычных потоков Win32. |
UmsThreadDefault |
Потоки UMS в пользовательском режиме не поддерживаются в среде выполнения параллелизма в Visual Studio 2013. Использование UmsThreadDefault в качестве значения для политики SchedulerType не приведет к ошибке. Однако, планировщик, созданный с помощью этой политики, по умолчанию будет настроен на использование потоков Win32. |
Требования
Заголовок: concrt.h
Перечисление SchedulingProtocolType
Используется политикой SchedulingProtocol для описания того, какой алгоритм планирования будет использоваться для планировщика. Дополнительные сведения о доступных политиках планировщика см. в разделе PolicyElementKey.
enum SchedulingProtocolType;
Значения
| Имя | Описание |
|---|---|
EnhanceForwardProgress |
Планировщик предпочитает циклический перебор с помощью групп расписаний после выполнения каждой задачи. Разблокированные контексты обычно запланированы в режиме первого выхода (FIFO). Виртуальные процессоры не кэшируют разблокированные контексты. |
EnhanceScheduleGroupLocality |
Планировщик предпочитает продолжать работать над задачами в текущей группе расписаний, прежде чем переходить в другую группу расписаний. Разблокированные контексты кэшируются на виртуальный процессор и обычно планируются в режиме последнего первого выхода (LIFO) виртуальным процессором, который разблокировал их. |
Требования
Заголовок: concrt.h
Перечисление SwitchingProxyState
Используется для обозначения состояния прокси-потока, когда он выполняет совместное переключение контекста на другой прокси-поток.
enum SwitchingProxyState;
Значения
| Имя | Описание |
|---|---|
Blocking |
Указывает, что вызывающий поток совместно блокируется и должен быть исключительно владельцем вызывающего средства до последующего выполнения повторного выполнения и выполнения других действий. |
Idle |
Указывает, что вызывающий поток больше не нужен планировщику и возвращается в Resource Manager. Контекст, который был отправлен, больше не может использоваться Диспетчером ресурсов. |
Nesting |
Указывает, что вызывающий поток вложен дочерним планировщиком и необходим вызывающему объекту для подключения к другому планировщику. |
Замечания
Параметр типа SwitchingProxyState передается методу IThreadProxy::SwitchTo , чтобы указать Resource Manager, как обрабатывать прокси-сервер потока, выполняющий вызов.
Дополнительные сведения об использовании этого типа см. в разделе IThreadProxy::SwitchTo.
Перечисление task_group_status
Описывает состояние выполнения объекта task_group или structured_task_group. Значение этого типа возвращается многочисленными методами, которые ожидают выполнения задач, запланированных для завершения группой задач.
enum task_group_status;
Значения
| Имя | Описание |
|---|---|
canceled |
Объект task_group или structured_task_group отменен. Одна или несколько задач, возможно, не были выполнены. |
completed |
Задачи, поставленные в очередь объекта task_group или structured_task_group, завершены успешно. |
not_complete |
Задачи, поставленные в очередь объекта task_group, не завершены. Обратите внимание, что это значение в настоящее время не возвращается исполняющей средой с параллелизмом. |
Требования
Заголовок: pplinterface.h
Перечисление WinRTInitializationType
Используется политикой WinRTInitialization для описания того, будет ли среда выполнения Windows инициализирована в потоках планировщика для приложения, которое работает в операционных системах Windows с версии 8 или выше, и каким образом это будет выполняться. Дополнительные сведения о доступных политиках планировщика см. в разделе PolicyElementKey.
enum WinRTInitializationType;
Значения
| Имя | Описание |
|---|---|
DoNotInitializeWinRT |
Когда приложение выполняется в операционной системе Windows версии 8 и выше, потоки в планировщике не инициализируют среду выполнения Windows. |
InitializeWinRTAsMTA |
Когда приложение выполняется в операционной системе Windows версии 8 или выше, каждый поток в планировщике инициализирует среду выполнения Windows и объявляет, что это часть многопотокового подразделения. |
Требования
Заголовок: concrt.h