SchedulerPolicy 类

SchedulerPolicy 类包含一组控制计划程序实例的行为的键/值对,一个键/值对对应于一个策略元素。

语法

class SchedulerPolicy;

成员

公共构造函数

名称 描述
SchedulerPolicy 已重载。 构造新的计划程序策略,并用并发运行时计划程序和资源管理器支持的策略键值填充它。
~SchedulerPolicy 析构函数 销毁计划程序策略。

公共方法

名称 描述
GetPolicyValue 检索作为 key 参数提供的策略键的值。
SetConcurrencyLimits SchedulerPolicy 对象同时设置 MinConcurrencyMaxConcurrency 策略。
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
要分配给此策略的策略。

返回值

对计划程序策略的引用。

备注

通常,定义新的计划程序策略最方便的方法是复制现有策略并使用 SetPolicyValueSetConcurrencyLimits 方法对其进行修改。

SchedulerPolicy

构造新的计划程序策略,并用并发运行时计划程序和资源管理器支持的策略键值填充它。

SchedulerPolicy();

SchedulerPolicy(
    size_t _PolicyKeyCount,
...);

SchedulerPolicy(
    const SchedulerPolicy& _SrcPolicy);

参数

_PolicyKeyCount
_PolicyKeyCount 参数后面的键/值对的数量。

_SrcPolicy
要复制的源策略。

备注

第一个构造函数创建新的计划程序策略,其中所有策略都将初始化为其默认值。

第二个构造函数创建一个新的计划程序策略,该策略使用命名参数样式的初始化。 _PolicyKeyCount 参数后的值作为键/值对提供。 此构造函数中未指定的任何策略键都将具有其默认值。 此构造函数可能会引发异常 invalid_scheduler_policy_keyinvalid_scheduler_policy_valueinvalid_scheduler_policy_thread_specification

第三个构造函数是复制构造函数。 通常,定义新的计划程序策略最方便的方法是复制现有策略并使用 SetPolicyValueSetConcurrencyLimits 方法对其进行修改。

~SchedulerPolicy

销毁计划程序策略。

~SchedulerPolicy();

SetConcurrencyLimits

SchedulerPolicy 对象同时设置 MinConcurrencyMaxConcurrency 策略。

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

请注意,此方法不允许设置 MinConcurrencyMaxConcurrency 策略。 若要设置这些值,请使用 SetConcurrencyLimits 方法。

另请参阅

并发命名空间
PolicyElementKey
CurrentScheduler 类
Scheduler 类
任务计划程序