Поделиться через


Класс SchedulerPolicy

Класс SchedulerPolicy содержит набор пар «ключ — значение» по одной для каждого элемента политики, управляющего поведением экземпляра планировщика.

Синтаксис

class SchedulerPolicy;

Участники

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

Имя Описание
SchedulerPolicy Перегружен. Создает новую политику планировщика и заполняет ее значениями ключей политики, поддерживаемых планировщиками среды выполнения параллелизма и Resource Manager.
Деструктор ~SchedulerPolicy Уничтожает политику планировщика.

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

Имя Описание
GetPolicyValue Извлекает значение ключа политики, предоставленного key в качестве параметра.
SetConcurrencyLimits Одновременно задает объекты MinConcurrency и MaxConcurrency политики SchedulerPolicy .
SetPolicyValue Задает значение ключа политики, предоставленного в качестве key параметра, и возвращает старое значение.

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

Имя Описание
operator= Назначает политику планировщика из другой политики планировщика.

Замечания

Дополнительные сведения о политиках, которые можно контролировать с помощью SchedulerPolicy класса, см. в разделе PolicyElementKey.

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

SchedulerPolicy

Требования

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

Пространство имен: concurrency

GetPolicyValue

Извлекает значение ключа политики, предоставленного key в качестве параметра.

unsigned int GetPolicyValue(PolicyElementKey key) const;

Параметры

key
Ключ политики для получения значения.

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

Если ключ, key указанный параметром, поддерживается, значение политики для приведения ключа к объекту unsigned int.

Замечания

Метод создает invalid_scheduler_policy_key для недопустимого ключа политики.

operator=

Назначает политику планировщика из другой политики планировщика.

SchedulerPolicy& operator= (const SchedulerPolicy& _RhsPolicy);

Параметры

_RhsPolicy
Политика, назначаемая этой политике.

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

Ссылка на политику планировщика.

Замечания

Часто наиболее удобным способом для определения новой политики планировщика является копирование существующей политики и изменение ее методами SetPolicyValue или SetConcurrencyLimits.

SchedulerPolicy

Создает новую политику планировщика и заполняет ее значениями ключей политики, поддерживаемых планировщиками среды выполнения параллелизма и Resource Manager.

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

Одновременно задает объекты MinConcurrency и MaxConcurrency политики SchedulerPolicy .

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

Параметры

_MinConcurrency
Значение MinConcurrency ключа политики.

_MaxConcurrency
Значение MaxConcurrency ключа политики.

Замечания

Метод создает invalid_scheduler_policy_thread_specification , если значение, указанное для MinConcurrency политики, больше указанного MaxConcurrency для политики.

Метод также может вызывать invalid_scheduler_policy_value для других недопустимых значений.

SetPolicyValue

Задает значение ключа политики, предоставленного в качестве key параметра, и возвращает старое значение.

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

Параметры

key
Ключ политики для задания значения.

значение
Значение для задания ключа политики.

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

Если ключ, указанный key параметром, поддерживается, старое значение политики для приведения ключа к объекту unsigned int.

Замечания

Метод создает invalid_scheduler_policy_key для недопустимого ключа политики или любого ключа политики, значение которого невозможно задать методом SetPolicyValue .

Метод создает invalid_scheduler_policy_value для значения, которое не поддерживается для ключа, указанного параметром key .

Обратите внимание, что этот метод не разрешен для задания MinConcurrency или MaxConcurrency политик. Чтобы задать эти значения, используйте метод SetConcurrencyLimits .

См. также

Пространство имен concurrency
PolicyElementKey
Класс CurrentScheduler
Класс Scheduler
Планировщик заданий