Compartilhar via


Classe de contexto

Representa uma abstração de um contexto de execução.

class Context;

Membros

Métodos públicos

Nome

Descrição

Método de Context::Block

Bloqueia o contexto atual.

Método de Context::CurrentContext

Retorna um ponteiro para o contexto atual.

Método de Context::GetId

Retorna um identificador para o contexto que é exclusivo dentro do Agendador ao qual pertence o contexto.

Método de Context::GetScheduleGroupId

Retorna um identificador para o grupo de agendamento que o contexto está trabalhando no momento.

Método de Context::GetVirtualProcessorId

Retorna um identificador para o processador virtual que o contexto no momento está em execução.

Método de Context::ID

Retorna um identificador para o contexto atual que é exclusivo dentro do Agendador ao qual pertence o contexto atual.

Método de Context::IsCurrentTaskCollectionCanceling

Retorna um indicação se a coleção de tarefa que está sendo executado embutido no contexto atual está no meio de um cancelamento ativo (ou estará em breve).

Método de Context::IsSynchronouslyBlocked

Determina ou não o contexto de forma síncrona é bloqueado. Um contexto é considerado sincronicamente bloqueada se explicitamente executou uma ação que o led de bloqueio.

Método de Context::Oversubscribe

Injeta um processador virtual adicional em um Agendador para a duração de um bloco de código quando chamado em um contexto de execução em um dos processadores virtuais em que o Agendador.

Método de Context::ScheduleGroupId

Retorna um identificador para o grupo de agendamento trabalhando no contexto atual.

Método de Context::Unblock

Desbloqueia o contexto e faz com que ele se torne executável.

Método de Context::VirtualProcessorId

Retorna um identificador para o processador virtual que o contexto atual está em execução.

Método de Context::yield

Gera a execução para que outro contexto pode executar. Se nenhum outro contexto está disponível para produzir a, o Agendador pode produzir a outro thread do sistema operacional.

Operadores protegidos

Nome

Descrição

Operador de exclusão de Context::Operator

A Context objeto é destruído internamente pelo runtime. Ele não pode ser explicitamente excluído.

Comentários

O Agendador do Runtime de simultaneidade (consulte Agendador) contextos de execução usa para executar o trabalho na fila a ele pelo seu aplicativo. Um thread de Win32 e um segmento (UMS) agendáveis do modo de usuário são exemplos de contextos de execução em um sistema operacional Windows. Os segmentos UMS são suportados apenas em sistemas operacionais de 64 bits com a versão Windows 7 e superior.

A qualquer momento, o nível de simultaneidade de um agendador é igual ao número de processadores virtuais concedidas 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 Agendador é cooperativo por natureza e um contexto de execução pode produzir seu processador virtual para um contexto diferente a qualquer momento, se desejar entrar em um estado de espera. Quando seu espera que ele atendidas, ele não pode continuar até que um processador virtual disponível do Agendador começa a executá-la.

Hierarquia de herança

Contexto

Requisitos

Cabeçalho: concrt.h

Namespace: Simultaneidade

Consulte também

Referência

Namespace de simultaneidade

Classe de Agendador

Conceitos

Agendador de tarefas (Runtime de simultaneidade)