Partilhar via


Classe de Política do Agendador

A SchedulerPolicy classe contém um conjunto de pares chave/valor, um para cada elemento de política, que controlam o comportamento de uma instância de agendador.

Sintaxe

class SchedulerPolicy;

Membros

Construtores Públicos

Nome Description
Política de Agendamento Sobrecarregado. Constrói uma nova política de agendador e preenche-a com valores para chaves de políticas suportadas pelos agendadores de Execução de Concorrência e pelo Gestor de Recursos.
~Destrutor de Políticas do Agendador Destrói uma política de agendamento.

Métodos Públicos

Nome Description
GetPolicyValue Recupera o valor da chave de política fornecida como parâmetro key.
SetConcurrencyLimits Define simultaneamente as políticas MinConcurrency e MaxConcurrency no objeto SchedulerPolicy.
SetPolicyValue Define o valor da chave de política fornecida como parâmetro key e devolve o valor antigo.

Operadores Públicos

Nome Description
operador= Atribui a política do agendador a partir de outra política do agendador.

Observações

Para mais informações sobre as políticas que podem ser controladas usando a SchedulerPolicy classe, veja PolicyElementKey.

Hierarquia de herança

SchedulerPolicy

Requerimentos

Cabeçalho: concrt.h, concrtrm.h

Namespace: simultaneidade

GetPolicyValue

Recupera o valor da chave de política fornecida como parâmetro key.

unsigned int GetPolicyValue(PolicyElementKey key) const;

Parâmetros

chave
A chave da política para recuperar um valor.

Valor de retorno

Se a chave especificada pelo parâmetro key for suportada, o valor da política para a chave é convertida para um unsigned int.

Observações

O método gera invalid_scheduler_policy_key para uma chave de política inválida.

operador=

Atribui a política do agendador a partir de outra política do agendador.

SchedulerPolicy& operator= (const SchedulerPolicy& _RhsPolicy);

Parâmetros

_RhsPolicy
A política para atribuir a esta apólice.

Valor de retorno

Uma referência à política do agendador.

Observações

Muitas vezes, a forma mais conveniente de definir uma nova política de agendador é copiar uma política existente e modificá-la usando os SetPolicyValue métodos ou SetConcurrencyLimits .

Política de Agendamento

Constrói uma nova política de agendador e preenche-a com valores para chaves de políticas suportadas pelos agendadores de Execução de Concorrência e pelo Gestor de Recursos.

SchedulerPolicy();

SchedulerPolicy(
    size_t _PolicyKeyCount,
...);

SchedulerPolicy(
    const SchedulerPolicy& _SrcPolicy);

Parâmetros

_PolicyKeyCount
O número de pares chave/valor que seguem o _PolicyKeyCount parâmetro.

_SrcPolicy
A política de origem para copiar.

Observações

O primeiro construtor cria uma nova política de escalonador onde todas as políticas serão inicializadas aos seus valores padrão.

O segundo construtor cria uma nova política de escalonador que utiliza um estilo de inicialização com parâmetro nomeado. Os valores após o _PolicyKeyCount parâmetro são fornecidos como pares chave/valor. Qualquer chave de política que não seja especificada neste construtor terá o seu valor padrão. Este construtor podia 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. Muitas vezes, a forma mais conveniente de definir uma nova política de agendador é copiar uma política existente e modificá-la usando os SetPolicyValue métodos ou SetConcurrencyLimits .

~Política de Agendamento

Destrói uma política de agendamento.

~SchedulerPolicy();

DefinirLimitesDeConcorrência

Define simultaneamente as políticas MinConcurrency e MaxConcurrency no objeto SchedulerPolicy.

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

Parâmetros

_MinConcurrency
O valor da MinConcurrency chave da política.

_MaxConcurrency
O valor da chave da política MaxConcurrency.

Observações

O método lançará invalid_scheduler_policy_thread_specification se o valor especificado para a MinConcurrency apólice for maior do que o especificado para a MaxConcurrency apólice.

O método também pode lançar invalid_scheduler_policy_value em caso de outros valores inválidos.

DefinirValorDePolítica

Define o valor da chave de política fornecida como parâmetro key e devolve o valor antigo.

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

Parâmetros

chave
A chave da política para definir um valor para.

value
O valor para definir a chave da política.

Valor de retorno

Se a chave especificada pelo parâmetro key for suportada, o valor da política antiga para a chave é convertido para um unsigned int.

Observações

O método lançará invalid_scheduler_policy_key para uma chave de política inválida ou qualquer chave de política cujo valor não possa ser definido pelo SetPolicyValue método.

O método vai lançar invalid_scheduler_policy_value para um valor não suportado pela chave especificada pelo parâmetro key.

Note que este método não pode definir as políticas MinConcurrency ou MaxConcurrency. Para definir estes valores, utilize o método SetConcurrencyLimits .

Consulte também

concorrência Namespace
PolicyElementKey
Classe CurrentScheduler
Classe Scheduler
Agendador de Tarefas