并发命名空间枚举
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
接口上的 Activate
和 Deactivate
方法进行调用以进出空闲状态的虚拟处理器。 有关可用计划程序策略的详细信息,请参阅 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 枚举的成员,ProgressFeedbackEnabled 或 ProgressFeedbackDisabled 默认值:30 ProgressFeedbackEnabled |
LocalContextCacheSize |
SchedulingProtocol 策略键设置为值 EnhanceScheduleGroupLocality 时,这指定每个虚拟处理器本地队列中允许缓存的最大可运行上下文数。 此类上下文通常以后进先出 (LIFO) 顺序在使它们成为可运行状态的虚拟处理器上运行。 请注意,当 SchedulingProtocol 键设置为值 EnhanceForwardProgress 时,此策略键没有意义。有效值:非负整数 默认值:30 8 |
MaxConcurrency |
计划程序所需的最大并发级别。 资源管理器会尝试最初分配这么多虚拟处理器。 特殊值 MaxExecutionResources 指示所需并发级别与计算机上的硬件线程数相同。 如果为 MinConcurrency 指定的值大于计算机上的硬件线程数,并且 MaxConcurrency 指定为 MaxExecutionResources ,则会提高 MaxConcurrency 的值以匹配为 MinConcurrency 设置的值。有效值:正整数以及特殊值 MaxExecutionResources 默认值: MaxExecutionResources |
MaxPolicyElementKey |
最大策略元素键。 不是有效元素键。 |
MinConcurrency |
资源管理器必须向计划程序提供的最低并发级别。 分配给计划程序的虚拟处理器数永远不会低于最小值。 特殊值 MaxExecutionResources 指示最小并发级别与计算机上的硬件线程数相同。 如果为 MaxConcurrency 指定的值小于计算机上的硬件线程数,并且 MinConcurrency 指定为 MaxExecutionResources ,则会降低 MinConcurrency 的值以匹配为 MaxConcurrency 设置的值。有效值:非负整数以及特殊值 MaxExecutionResources 请注意,对于用于并发运行时计划程序构造的计划程序策略,值 0 无效。默认值:30 1 |
SchedulerKind |
应由计划程序会用于基础执行上下文的线程的类型。 有关详细信息,请参阅 SchedulerType。 有效值:枚举 SchedulerType 的成员,例如 ThreadScheduler 默认值: ThreadScheduler 。 这会在所有操作系统上都转换为 Win32 线程。 |
SchedulingProtocol |
描述计划程序将使用的计划算法。 有关详细信息,请参阅 SchedulingProtocolType。 有效值: SchedulingProtocolType 枚举的成员,EnhanceScheduleGroupLocality 或 EnhanceForwardProgress 默认值:30 EnhanceScheduleGroupLocality |
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_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 8 或更高版本的操作系统上运行的应用程序,是否以及如何在计划程序的线程上初始化 Windows 运行时。 有关可用计划程序策略的详细信息,请参阅 PolicyElementKey。
enum WinRTInitializationType;
值
“属性” | 描述 |
---|---|
DoNotInitializeWinRT |
当应用程序在 Windows 8 或更高版本的操作系统上运行时,计划程序中的线程不会初始化 Windows 运行时。 |
InitializeWinRTAsMTA |
当应用程序在 Windows 8 或更高版本的操作系统上运行时,计划程序中的每个线程都将初始化 Windows 运行时并声明它是多线程单元的一部分。 |
要求
标头:concrt.h