Класс 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
Планировщик заданий