Класс SchedulerPolicySchedulerPolicy Class

Класс SchedulerPolicy содержит набор пар «ключ — значение» по одной для каждого элемента политики, управляющего поведением экземпляра планировщика.The SchedulerPolicy class contains a set of key/value pairs, one for each policy element, that control the behavior of a scheduler instance.

СинтаксисSyntax

class SchedulerPolicy;

ЧленыMembers

Открытые конструкторыPublic Constructors

nameName ОписаниеDescription
SchedulerPolicySchedulerPolicy Перегружен.Overloaded. Конструирует новую политику планировщика и заполняет ее значениями для ключей политик , поддерживаемых планировщиками среда выполнения с параллелизмом и диспетчер ресурсов.Constructs a new scheduler policy and populates it with values for policy keys supported by Concurrency Runtime schedulers and the Resource Manager.
Деструктор ~ SchedulerPolicy~SchedulerPolicy Destructor Уничтожает политику планировщика.Destroys a scheduler policy.

Открытые методыPublic Methods

nameName ОписаниеDescription
жетполицивалуеGetPolicyValue Возвращает значение ключа политики, предоставляемое в качестве key параметра.Retrieves the value of the policy key supplied as the key parameter.
сетконкурренцилимитсSetConcurrencyLimits Одновременно задает MinConcurrency политики и MaxConcurrency для SchedulerPolicy объекта.Simultaneously sets the MinConcurrency and MaxConcurrency policies on the SchedulerPolicy object.
сетполицивалуеSetPolicyValue Задает значение ключа политики, предоставляемое в качестве key параметра, и возвращает старое значение.Sets the value of the policy key supplied as the key parameter and returns the old value.

Открытые операторыPublic Operators

ИмяName ОписаниеDescription
Оператор =operator= Назначает политику планировщика из другой политики планировщика.Assigns the scheduler policy from another scheduler policy.

КомментарииRemarks

Дополнительные сведения о политиках, которые можно контролировать с помощью SchedulerPolicy класса, см. в разделе полициелементкэй.For more information about the policies which can be controlled using the SchedulerPolicy class, see PolicyElementKey.

Иерархия наследованияInheritance Hierarchy

SchedulerPolicy

ТребованияRequirements

Заголовок: ConcRT. h, concrtrm. hHeader: concrt.h, concrtrm.h

Пространство имен: параллелизмNamespace: concurrency

жетполицивалуеGetPolicyValue

Возвращает значение ключа политики, предоставляемое в качестве key параметра.Retrieves the value of the policy key supplied as the key parameter.

unsigned int GetPolicyValue(PolicyElementKey key) const;

ПараметрыParameters

keykey
Ключ политики для получения значения.The policy key to retrieve a value for.

Возвращаемое значениеReturn Value

Если ключ, заданный key параметром, поддерживается, значение политики для приведения ключа к unsigned int .If the key specified by the key parameter is supported, the policy value for the key cast to an unsigned int.

КомментарииRemarks

Метод вызовет исключение invalid_scheduler_policy_key для недопустимого ключа политики.The method will throw invalid_scheduler_policy_key for an invalid policy key.

Оператор =operator=

Назначает политику планировщика из другой политики планировщика.Assigns the scheduler policy from another scheduler policy.

SchedulerPolicy& operator= (const SchedulerPolicy& _RhsPolicy);

ПараметрыParameters

_RhsPolicy_RhsPolicy
Политика, назначаемая этой политике.The policy to assign to this policy.

Возвращаемое значениеReturn Value

Ссылка на политику планировщика.A reference to the scheduler policy.

КомментарииRemarks

Часто наиболее удобным способом для определения новой политики планировщика является копирование существующей политики и изменение ее методами SetPolicyValue или SetConcurrencyLimits.Often, the most convenient way to define a new scheduler policy is to copy an existing policy and modify it using the SetPolicyValue or SetConcurrencyLimits methods.

SchedulerPolicySchedulerPolicy

Конструирует новую политику планировщика и заполняет ее значениями для ключей политик , поддерживаемых планировщиками среда выполнения с параллелизмом и диспетчер ресурсов.Constructs a new scheduler policy and populates it with values for policy keys supported by Concurrency Runtime schedulers and the Resource Manager.

SchedulerPolicy();

SchedulerPolicy(
    size_t _PolicyKeyCount,
...);

SchedulerPolicy(
    const SchedulerPolicy& _SrcPolicy);

ПараметрыParameters

_PolicyKeyCount_PolicyKeyCount
Число пар "ключ-значение", которые следуют за _PolicyKeyCount параметром.The number of key/value pairs that follow the _PolicyKeyCount parameter.

_SrcPolicy_SrcPolicy
Исходная политика для копирования.The source policy to copy.

КомментарииRemarks

Первый конструктор создает новую политику планировщика, где все политики будут инициализированы значениями по умолчанию.The first constructor creates a new scheduler policy where all policies will be initialized to their default values.

Второй конструктор создает новую политику планировщика, в которой используется стиль инициализации с именованными параметрами.The second constructor creates a new scheduler policy that uses a named-parameter style of initialization. Значения после _PolicyKeyCount параметра передаются в виде пар "ключ-значение".Values after the _PolicyKeyCount parameter are supplied as key/value pairs. Любой ключ политики, который не указан в этом конструкторе, будет иметь значение по умолчанию.Any policy key which is not specified in this constructor will have its default value. Этот конструктор может вызывать исключения invalid_scheduler_policy_key, invalid_scheduler_policy_value или invalid_scheduler_policy_thread_specification.This constructor could throw the exceptions invalid_scheduler_policy_key, invalid_scheduler_policy_value or invalid_scheduler_policy_thread_specification.

Третий конструктор является конструктором копии.The third constructor is a copy constructor. Часто наиболее удобным способом для определения новой политики планировщика является копирование существующей политики и изменение ее методами SetPolicyValue или SetConcurrencyLimits.Often, the most convenient way to define a new scheduler policy is to copy an existing policy and modify it using the SetPolicyValue or SetConcurrencyLimits methods.

~ SchedulerPolicy~SchedulerPolicy

Уничтожает политику планировщика.Destroys a scheduler policy.

~SchedulerPolicy();

сетконкурренцилимитсSetConcurrencyLimits

Одновременно задает MinConcurrency политики и MaxConcurrency для SchedulerPolicy объекта.Simultaneously sets the MinConcurrency and MaxConcurrency policies on the SchedulerPolicy object.

void SetConcurrencyLimits(
    unsigned int _MinConcurrency,
    unsigned int _MaxConcurrency = MaxExecutionResources);

ПараметрыParameters

_MinConcurrency_MinConcurrency
Значение для MinConcurrency ключа политики.The value for the MinConcurrency policy key.

_MaxConcurrency_MaxConcurrency
Значение для MaxConcurrency ключа политики.The value for the MaxConcurrency policy key.

КомментарииRemarks

Метод вызовет исключение invalid_scheduler_policy_thread_specification , если значение, указанное для MinConcurrency политики, больше, чем указано для MaxConcurrency политики.The method will throw invalid_scheduler_policy_thread_specification if the value specified for the MinConcurrency policy is greater than that specified for the MaxConcurrency policy.

Метод также может создавать invalid_scheduler_policy_value для других недопустимых значений.The method can also throw invalid_scheduler_policy_value for other invalid values.

сетполицивалуеSetPolicyValue

Задает значение ключа политики, предоставляемое в качестве key параметра, и возвращает старое значение.Sets the value of the policy key supplied as the key parameter and returns the old value.

unsigned int SetPolicyValue(
    PolicyElementKey key,
    unsigned int value);

ПараметрыParameters

keykey
Ключ политики для задания значения.The policy key to set a value for.

valuevalue
Значение, для которого необходимо задать ключ политики.The value to set the policy key to.

Возвращаемое значениеReturn Value

Если ключ, заданный key параметром, поддерживается, старое значение политики для приведения ключа к unsigned int .If the key specified by the key parameter is supported, the old policy value for the key cast to an unsigned int.

КомментарииRemarks

Метод вызовет исключение invalid_scheduler_policy_key для недопустимого ключа политики или любого ключа политики, значение которого не может быть задано SetPolicyValue методом.The method will throw invalid_scheduler_policy_key for an invalid policy key or any policy key whose value cannot be set by the SetPolicyValue method.

Метод вызывает invalid_scheduler_policy_value для значения, которое не поддерживается для ключа, указанного key параметром.The method will throw invalid_scheduler_policy_value for a value that is not supported for the key specified by the key parameter.

Обратите внимание, что этот метод не может задавать MinConcurrency MaxConcurrency политики или.Note that this method is not allowed to set the MinConcurrency or MaxConcurrency policies. Чтобы задать эти значения, используйте метод сетконкурренцилимитс .To set these values, use the SetConcurrencyLimits method.

См. также разделSee also

Пространство имен Concurrencyconcurrency Namespace
полициелементкэйPolicyElementKey
Класс CurrentSchedulerCurrentScheduler Class
Класс SchedulerScheduler Class
Планировщик заданийTask Scheduler