并发命名空间枚举

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 标记开始/结束事件对的开头的事件类型。
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 指示上下文处于关键区域内。 处于关键区域内时,异步挂起会在计划程序中隐藏。 如果发生此类挂起,资源管理器会等待线程变为可运行状态,只是继续进行,而不是再次调用计划程序。 在此类区域内进行的任何锁定都必须非常小心。
InsideHyperCriticalRegion 指示上下文处于超关键区域内。 处于超关键区域内时,同步挂起和异步挂起都会在计划程序中隐藏。 如果发生此类挂起或阻止,资源管理器会等待线程变为可运行状态,只是继续进行,而不是再次调用计划程序。 在此类区域内进行的锁定绝不能与在此类区域外运行的代码共享。 这样做会导致不可预知的死锁。
OutsideCriticalRegion 指示上下文处于关键区域外。

要求

标头:concrtrm.h

DynamicProgressFeedbackType 枚举

DynamicProgressFeedback 策略用于描述重新平衡计划程序资源的依据是从计划程序收集的统计信息,还是通过对 IVirtualProcessorRoot 接口上的 ActivateDeactivate 方法进行调用以进出空闲状态的虚拟处理器。 有关可用计划程序策略的详细信息,请参阅 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 计划程序中每个上下文的保留堆栈大小(以 KB 为单位)。

有效值:正整数

默认值:0,指示使用进程的堆栈大小默认值。
DynamicProgressFeedback 确定是根据从计划程序收集的统计信息,还是仅基于基础硬件线程的订阅级别来重新平衡计划程序的资源。 有关详细信息,请参阅 DynamicProgressFeedbackType

有效值:DynamicProgressFeedbackType 枚举的成员,ProgressFeedbackEnabledProgressFeedbackDisabled

默认值:30ProgressFeedbackEnabled
LocalContextCacheSize SchedulingProtocol 策略键设置为值 EnhanceScheduleGroupLocality 时,这指定每个虚拟处理器本地队列中允许缓存的最大可运行上下文数。 此类上下文通常以后进先出 (LIFO) 顺序在使它们成为可运行状态的虚拟处理器上运行。 请注意,当 SchedulingProtocol 键设置为值 EnhanceForwardProgress 时,此策略键没有意义。

有效值:非负整数

默认值:308
MaxConcurrency 计划程序所需的最大并发级别。 资源管理器会尝试最初分配这么多虚拟处理器。 特殊值 MaxExecutionResources 指示所需并发级别与计算机上的硬件线程数相同。 如果为 MinConcurrency 指定的值大于计算机上的硬件线程数,并且 MaxConcurrency 指定为 MaxExecutionResources,则会提高 MaxConcurrency 的值以匹配为 MinConcurrency 设置的值。

有效值:正整数以及特殊值 MaxExecutionResources

默认值:MaxExecutionResources
MaxPolicyElementKey 最大策略元素键。 不是有效元素键。
MinConcurrency 资源管理器必须向计划程序提供的最低并发级别。 分配给计划程序的虚拟处理器数永远不会低于最小值。 特殊值 MaxExecutionResources 指示最小并发级别与计算机上的硬件线程数相同。 如果为 MaxConcurrency 指定的值小于计算机上的硬件线程数,并且 MinConcurrency 指定为 MaxExecutionResources,则会降低 MinConcurrency 的值以匹配为 MaxConcurrency 设置的值。

有效值:非负整数以及特殊值 MaxExecutionResources 请注意,对于用于并发运行时计划程序构造的计划程序策略,值 0 无效。

默认值:301
SchedulerKind 应由计划程序会用于基础执行上下文的线程的类型。 有关详细信息,请参阅 SchedulerType

有效值:枚举 SchedulerType 的成员,例如 ThreadScheduler

默认值:ThreadScheduler。 这会在所有操作系统上都转换为 Win32 线程。
SchedulingProtocol 描述计划程序将使用的计划算法。 有关详细信息,请参阅 SchedulingProtocolType

有效值:SchedulingProtocolType 枚举的成员,EnhanceScheduleGroupLocalityEnhanceForwardProgress

默认值:30EnhanceScheduleGroupLocality
TargetOversubscriptionFactor 每个硬件线程的暂停虚拟处理器数。 如果必要,资源管理器可以增加目标过度订阅因素,以满足计算机上硬件线程的 MaxConcurrency

有效值:正整数

默认值:1
WinRTInitialization

要求

标头:concrt.h

SchedulerType 枚举

SchedulerKind 策略用于描述应由计划程序用于基础执行上下文的线程的类型。 有关可用计划程序策略的详细信息,请参阅 PolicyElementKey

enum SchedulerType;

“属性” 描述
ThreadScheduler 指示常规 Win32 线程的显式请求。
UmsThreadDefault Visual Studio 2013 的并发运行时中不支持用户模式可计划 (UMS) 线程。 使用 UmsThreadDefault 作为 SchedulerType 策略的一个值不会导致错误。 不过,通过此策略创建的计划程序将默认使用 Win32 线程。

要求

标头:concrt.h

SchedulingProtocolType 枚举

SchedulingProtocol 策略用于描述将哪个计划算法用于计划程序。 有关可用计划程序策略的详细信息,请参阅 PolicyElementKey

enum SchedulingProtocolType;

“属性” 描述
EnhanceForwardProgress 计划程序倾向于在执行每个任务后通过计划组执行轮循机制。 取消阻止的上下文通常以先进先出 (FIFO) 方式进行计划。 虚拟处理器不会缓存取消阻止的上下文。
EnhanceScheduleGroupLocality 计划程序倾向于继续处理当前计划组中的任务,然后再移动到另一个计划组。 取消阻止的上下文会按虚拟处理器进行缓存,通常由取消阻止它们的虚拟处理器按后进先出 (LIFO) 方式进行计划。

要求

标头:concrt.h

SwitchingProxyState 枚举

用于表示线程代理在执行另一个线程代理的协作上下文切换时所处的状态。

enum SwitchingProxyState;

“属性” 描述
Blocking 指示调用线程是协作阻止,应由调用方独占拥有,直到随后再次运行并执行其他操作。
Idle 指示计划程序不再需要调用线程,该线程会返回到资源管理器。 所调度的上下文不再能够由资源管理器使用。
Nesting 指示调用线程在嵌套子计划程序,由调用方所需要,以便附加到其他计划程序。

备注

SwitchingProxyState 类型的参数会传递给 IThreadProxy::SwitchTo 方法,以指示资源管理器如何处理进行调用的线程代理。

有关如何使用此类型的详细信息,请参阅 IThreadProxy::SwitchTo

task_group_status 枚举

描述 task_groupstructured_task_group 对象的执行状态。 此类型的值是由很多等待安排到一个任务组中的任务完成的方法返回的。

enum task_group_status;

“属性” 描述
canceled task_groupstructured_task_group 对象已取消。 一个或多个任务可能未执行。
completed 排入 task_groupstructured_task_group 对象的任务已成功完成。
not_complete 排入 task_group 对象的任务尚未完成。 请注意,此值目前不是由并发运行时返回的。

要求

标头:pplinterface.h

WinRTInitializationType 枚举

WinRTInitialization 策略用于描述,对于在 Windows 8 或更高版本的操作系统上运行的应用程序,是否以及如何在计划程序的线程上初始化 Windows 运行时。 有关可用计划程序策略的详细信息,请参阅 PolicyElementKey

enum WinRTInitializationType;

“属性” 描述
DoNotInitializeWinRT 当应用程序在 Windows 8 或更高版本的操作系统上运行时,计划程序中的线程不会初始化 Windows 运行时。
InitializeWinRTAsMTA 当应用程序在 Windows 8 或更高版本的操作系统上运行时,计划程序中的每个线程都将初始化 Windows 运行时并声明它是多线程单元的一部分。

要求

标头:concrt.h

另请参阅

并发命名空间