Compartilhar via


Método IVirtualProcessorRoot::Activate

Faz com que o proxy de thread associado à interface pContext do contexto de execução no início que executa nessa raiz virtual do processador.

virtual void Activate(
   _Inout_ IExecutionContext * pContext
) =0;

Parâmetros

  • pContext
    Uma interface para o contexto de execução que serão enviados nessa raiz virtual do processador.

Comentários

O Gerenciador de Recursos fornecerá um proxy do thread se não estiver associado à interface pContextdo contexto de execução

O método de Activate pode ser usado para iniciar a execução do trabalho em uma nova raiz virtual do processador retornada pelo Gerenciador de Recursos, ou para retomar o proxy de thread em uma raiz virtual de processador que desativar ou está prestes a desativar. Consulte IVirtualProcessorRoot::Deactivate para obter mais informações sobre a desativação. Quando você estiver continuando uma raiz virtual desativada de processador, o parâmetro pContext deve ser igual ao parâmetro usado para desativar a raiz virtual do processador.

Uma vez que uma raiz virtual do processador já foi ativada pela primeira vez, os pares de chamadas subsequentes a Deactivate e podem Activate competir um com o outro. Isso significa que é aceitável para o Gerenciador de Recursos receber uma chamada a Activate antes que recebe a chamada de Deactivate se significou para.

Quando você ativa uma raiz virtual de processador, você sinaliza ao Gerenciador de Recursos que essa raiz virtual do processador está ocupado com trabalho. Se o agendador não pode localizar nenhum trabalho para execução nessa raiz, espera-se invocar o método de Deactivate que informa o Gerenciador de Recursos que a raiz virtual do processador está ocioso. O Gerenciador de Recursos usa esses dados para carregar o equilíbrio o sistema.

invalid_argument será lançada se o argumento pContext tem o valor NULL.

invalid_operation será lançada se o argumento não pContext representa o contexto de execução que esteve despachados recentemente por essa raiz virtual do processador.

O ato de ativar uma raiz virtual do processador aumenta a assinatura no nível de threads de hardware subjacente por um. Para obter mais informações sobre os níveis de assinatura, consulte IExecutionResource::CurrentSubscriptionLevel.

Requisitos

Cabeçalho: concrtrm.h

Namespace: simultaneidade

Consulte também

Referência

Estrutura IVirtualProcessorRoot

Método IVirtualProcessorRoot::Deactivate

Método IExecutionResource::CurrentSubscriptionLevel