Classe SchedulerPolicy
A classe SchedulerPolicy
contém um conjunto de pares de chave/valor, um para cada elemento de política, que controlam o comportamento de uma instância do agendador.
Sintaxe
class SchedulerPolicy;
Membros
Construtores públicos
Nome | Descrição |
---|---|
Política de Agendamento | Sobrecarregado. Constrói uma nova política de agendador e a popula com valores para chaves de política com suporte aos agendadores de Runtime de Simultaneidade e o Resource Manager. |
Destruidor ~SchedulerPolicy | Destrói uma política de agendador. |
Métodos públicos
Nome | Descrição |
---|---|
GetPolicyValue | Recupera o valor da chave de política fornecida como o parâmetro key . |
SetConcurrencyLimits | Define simultaneamente as políticas MinConcurrency e MaxConcurrency no objetoSchedulerPolicy . |
SetPolicyValue | Define o valor da chave de política fornecida como o parâmetro key e retorna o valor antigo. |
Operadores públicos
Nome | Descrição |
---|---|
operator= | Atribui a política do agendador de outra política de agendador. |
Comentários
Para obter mais informações sobre as políticas que podem ser controladas usando a classe SchedulerPolicy
, consulte PolicyElementKey.
Hierarquia de herança
SchedulerPolicy
Requisitos
Cabeçalho: concrt.h, concrtrm.h
Namespace: concurrency
GetPolicyValue
Recupera o valor da chave de política fornecida como o parâmetro key
.
unsigned int GetPolicyValue(PolicyElementKey key) const;
Parâmetros
chave
A chave de política para a qual recuperar um valor.
Valor de retorno
Se houver suporte para a chave especificada pelo parâmetro key
, o valor da política para a chave será convertido para um arquivo unsigned int
.
Comentários
O método lançará invalid_scheduler_policy_key para uma chave de política inválida.
operator=
Atribui a política do agendador de outra política de agendador.
SchedulerPolicy& operator= (const SchedulerPolicy& _RhsPolicy);
Parâmetros
_RhsPolicy
A política a ser atribuída a essa política.
Valor de retorno
Uma referência à política do agendador.
Comentários
Geralmente, a maneira mais conveniente de definir uma nova política de agendador é copiar uma política existente e modificá-la usando os métodosSetPolicyValue
ou SetConcurrencyLimits
.
Política de Agendamento
Constrói uma nova política de agendador e a popula com valores para chaves de política com suporte aos agendadores de Runtime de Simultaneidade e o Resource Manager.
SchedulerPolicy();
SchedulerPolicy(
size_t _PolicyKeyCount,
...);
SchedulerPolicy(
const SchedulerPolicy& _SrcPolicy);
Parâmetros
_PolicyKeyCount
O número de pares de chave/valor que seguem o parâmetro _PolicyKeyCount
.
_SrcPolicy
A política de origem a ser copiada.
Comentários
O primeiro construtor cria uma nova política de agendador em que todas as políticas serão inicializadas para seus valores padrão.
O segundo construtor cria uma nova política de agendador que usa um estilo de inicialização de parâmetro nomeado. Os valores após o parâmetro _PolicyKeyCount
são fornecidos como pares de chave/valor. Qualquer chave de política que não seja especificada neste construtor terá seu valor padrão. Esse construtor pode lançar as exceções invalid_scheduler_policy_key, invalid_scheduler_policy_value ou invalid_scheduler_policy_thread_specification.
O terceiro construtor é um construtor de cópia. Geralmente, a maneira mais conveniente de definir uma nova política de agendador é copiar uma política existente e modificá-la usando os métodosSetPolicyValue
ou SetConcurrencyLimits
.
~ Política de Agendamento
Destrói uma política de agendador.
~SchedulerPolicy();
SetConcurrencyLimits
Define simultaneamente as políticas MinConcurrency
e MaxConcurrency
no objetoSchedulerPolicy
.
void SetConcurrencyLimits(
unsigned int _MinConcurrency,
unsigned int _MaxConcurrency = MaxExecutionResources);
Parâmetros
_MinConcurrency
O valor da chave de política MinConcurrency
.
_MaxConcurrency
O valor da chave de política MaxConcurrency
.
Comentários
O método irá gerar invalid_scheduler_policy_thread_specification se o valor especificado para a política MinConcurrency
for maior do que o especificado para a política MaxConcurrency
.
O método também pode gerar invalid_scheduler_policy_value para outros valores inválidos.
SetPolicyValue
Define o valor da chave de política fornecida como o parâmetro key
e retorna o valor antigo.
unsigned int SetPolicyValue(
PolicyElementKey key,
unsigned int value);
Parâmetros
chave
A chave de política para a qual definir um valor.
value
O valor para o qual definir a chave de política.
Valor de retorno
Se houver suporte para a chave especificada pelo parâmetro key
, o valor da política antiga da chave será convertido em um unsigned int
.
Comentários
O método irá gerar invalid_scheduler_policy_key para uma chave de política inválida ou qualquer chave de política cujo valor não pode ser definido pelo método SetPolicyValue
.
O método irá gerar invalid_scheduler_policy_value para um valor que não tem suporte para a chave especificada pelo parâmetro key
.
Observe que esse método não tem permissão para definir as políticas as políticas MinConcurrency
ou MaxConcurrency
. Para definir esses valores, use o método SetConcurrencyLimits.
Confira também
Namespace de simultaneidade
PolicyElementKey
Classe CurrentScheduler
Classe Scheduler
Agendador de Tarefas