Compartilhar via


Classe de Agendador

Representa uma abstração de um Agendador de Runtime de simultaneidade.

class Scheduler;

Membros

Construtores protegidos

Nome

Descrição

Construtor de Scheduler::Scheduler

Um objeto de Scheduler classe pode somente criadas usando métodos de fábrica, ou implicitamente.

Agendador:: ~ destruidor do Agendador

Um objeto de Scheduler classe implicitamente é destruída quando todas as referências externas a ele deixar de existir.

Métodos públicos

Nome

Descrição

Método de Scheduler::Attach

Anexa o Agendador para o contexto de chamada. Após esse método retorna, o contexto de chamada é gerenciado pelo Agendador e o Agendador torna-se o Agendador atual.

Método de Scheduler::Create

Cria um novo Agendador cujo comportamento é descrito pela _Policy coloca uma referência inicial sobre o Agendador de parâmetro e retorna um ponteiro para o proprietário.

Método de Scheduler::CreateScheduleGroup

Cria um novo grupo de agendamento dentro do Agendador.

Método de Scheduler::GetNumberOfVirtualProcessors

Retorna o número atual de processadores virtuais para o Agendador.

Método de Scheduler::GetPolicy

Retorna uma cópia da diretiva que o Agendador foi criado com.

Método de Scheduler::ID

Retorna um identificador exclusivo para o Agendador.

Método de Scheduler::Reference

Incrementa a contagem de referência do programador.

Método de Scheduler::RegisterShutdownEvent

Faz com que o manipulador de eventos do Windows passada a _Event parâmetro deve ser sinalizado quando o Agendador é desligado e destrói a mesmo. No momento em que o evento é sinalizado, todo o trabalho foi agendado para o Agendador está concluído. Vários eventos de desligamento podem ser registrados por meio deste método.

Método de Scheduler::Release

Contagem de referência do Agendador diminui.

Método de Scheduler::ResetDefaultSchedulerPolicy

Redefine a diretiva padrão do agendador padrão do runtime. Na próxima vez em que um agendador padrão é criado, ele usará as configurações de diretiva padrão do runtime.

Método de Scheduler::ScheduleTask

Agenda uma tarefa leve dentro do Agendador. A tarefa de leve será colocada em um grupo de agendamento de escolha de tempo de execução.

Método de Scheduler::SetDefaultSchedulerPolicy

Permite que uma diretiva definida pelo usuário a ser usado para criar o agendador padrão. Este método só pode ser chamado quando não existe nenhum agendador padrão dentro do processo. Depois que uma diretiva padrão foi definida, ele permanecerá em vigor até a próxima chamada válida para qualquer um de SetDefaultSchedulerPolicy ou o ResetDefaultSchedulerPolicy método.

Comentários

O Agendador de simultaneidade de tempo de execução usa os contextos de execução que mapeiam para contextos de execução do sistema operacional, como, por exemplo, um thread ou um segmento UMS para executar o trabalho na fila a ele pelo seu aplicativo. A qualquer momento, o nível de simultaneidade de um agendador é igual ao número do processador virtual concedida a ele pelo Gerenciador de recursos. Um processador virtual é uma abstração de um recurso de processamento e mapas para um segmento de hardware no sistema subjacente. Um contexto de Agendador único pode executar em um processador virtual em um determinado momento.

O Runtime de simultaneidade criará um agendador padrão por processo para executar o trabalho paralelo. Além disso, você pode criar seu próprio agendador instâncias e manipulá-lo usando essa classe.

Hierarquia de herança

Agendador

Requisitos

Cabeçalho: concrt.h

Namespace: Simultaneidade

Consulte também

Referência

Namespace de simultaneidade

Classe de Agendador

Enumeração de PolicyElementKey

Conceitos

Agendador de tarefas (Runtime de simultaneidade)