Share via


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 do Agendador 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 Devolução

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 Devolução

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 do Agendador

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 Devolução

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