SchedulerPolicy 类
SchedulerPolicy
类包含一组控制计划程序实例的行为的键/值对,一个键/值对对应于一个策略元素。
语法
class SchedulerPolicy;
成员
公共构造函数
名称 | 描述 |
---|---|
SchedulerPolicy | 已重载。 构造新的计划程序策略,并用并发运行时计划程序和资源管理器支持的策略键值填充它。 |
~SchedulerPolicy 析构函数 | 销毁计划程序策略。 |
公共方法
名称 | 描述 |
---|---|
GetPolicyValue | 检索作为 key 参数提供的策略键的值。 |
SetConcurrencyLimits | 对 SchedulerPolicy 对象同时设置 MinConcurrency 和 MaxConcurrency 策略。 |
SetPolicyValue | 设置作为 key 参数提供的策略键的值,并返回旧值。 |
公共运算符
“属性” | 描述 |
---|---|
operator= | 从另一个计划程序策略分配计划程序策略。 |
注解
有关可以使用 SchedulerPolicy
类控制的策略的详细信息,请参阅 PolicyElementKey。
继承层次结构
SchedulerPolicy
要求
标头:concrt.h、concrtrm.h
命名空间: 并发
GetPolicyValue
检索作为 key
参数提供的策略键的值。
unsigned int GetPolicyValue(PolicyElementKey key) const;
参数
键
要为其检索值的策略键。
返回值
如果支持 key
参数指定的键,则键的策略值强制转换为 unsigned int
。
备注
对于无效策略键,该方法将引发 invalid_scheduler_policy_key。
operator=
从另一个计划程序策略分配计划程序策略。
SchedulerPolicy& operator= (const SchedulerPolicy& _RhsPolicy);
参数
_RhsPolicy
要分配给此策略的策略。
返回值
对计划程序策略的引用。
备注
通常,定义新的计划程序策略最方便的方法是复制现有策略并使用 SetPolicyValue
或 SetConcurrencyLimits
方法对其进行修改。
SchedulerPolicy
构造新的计划程序策略,并用并发运行时计划程序和资源管理器支持的策略键值填充它。
SchedulerPolicy();
SchedulerPolicy(
size_t _PolicyKeyCount,
...);
SchedulerPolicy(
const SchedulerPolicy& _SrcPolicy);
参数
_PolicyKeyCount
_PolicyKeyCount
参数后面的键/值对的数量。
_SrcPolicy
要复制的源策略。
备注
第一个构造函数创建新的计划程序策略,其中所有策略都将初始化为其默认值。
第二个构造函数创建一个新的计划程序策略,该策略使用命名参数样式的初始化。 _PolicyKeyCount
参数后的值作为键/值对提供。 此构造函数中未指定的任何策略键都将具有其默认值。 此构造函数可能会引发异常 invalid_scheduler_policy_key、invalid_scheduler_policy_value 或 invalid_scheduler_policy_thread_specification。
第三个构造函数是复制构造函数。 通常,定义新的计划程序策略最方便的方法是复制现有策略并使用 SetPolicyValue
或 SetConcurrencyLimits
方法对其进行修改。
~SchedulerPolicy
销毁计划程序策略。
~SchedulerPolicy();
SetConcurrencyLimits
对 SchedulerPolicy
对象同时设置 MinConcurrency
和 MaxConcurrency
策略。
void SetConcurrencyLimits(
unsigned int _MinConcurrency,
unsigned int _MaxConcurrency = MaxExecutionResources);
参数
_MinConcurrency
MinConcurrency
策略键的值。
_MaxConcurrency
MaxConcurrency
策略键的值。
注解
如果为 MinConcurrency
策略指定的值大于为 MaxConcurrency
策略指定的值,则该方法将引发 invalid_scheduler_policy_thread_specification。
对于其他无效值,该方法还会引发 invalid_scheduler_policy_value。
SetPolicyValue
设置作为 key
参数提供的策略键的值,并返回旧值。
unsigned int SetPolicyValue(
PolicyElementKey key,
unsigned int value);
参数
键
要为其设置值的策略键。
value
要将策略键设置为的值。
返回值
如果支持 key
参数指定的键,则键的策略值将强制转换为 unsigned int
。
注解
对于无效策略键或任何无法由 SetPolicyValue
方法设置其值的策略键,该方法将引发 invalid_scheduler_policy_key。
对于 key
参数指定的键不支持的值,该方法将引发 invalid_scheduler_policy_value。
请注意,此方法不允许设置 MinConcurrency
或 MaxConcurrency
策略。 若要设置这些值,请使用 SetConcurrencyLimits 方法。
另请参阅
并发命名空间
PolicyElementKey
CurrentScheduler 类
Scheduler 类
任务计划程序