Compartilhar via


Método IScheduler::NotifyResourcesExternallyIdle

Notifica este agendador que os threads de hardware representados pelo conjunto de raízes virtuais do processador na matriz ppVirtualProcessorRoots não estão sendo usados por outros agendadores.

virtual void NotifyResourcesExternallyIdle(
   _In_reads_(count) IVirtualProcessorRoot ** ppVirtualProcessorRoots,
   unsigned int count
) =0;

Parâmetros

  • ppVirtualProcessorRoots
    Uma matriz das interfaces de IVirtualProcessorRoot associadas aos threads de hardware em outros agendadores que ficaram ociosas.

  • count
    O número de IVirtualProcessorRoot interfaces na matriz.

Comentários

É possível que um thread de hardware específico ser atribuído ao mesmo tempo em vários agendadores. Uma razão para isso pode ser que não há bastante threads de hardware no sistema para atender a simultaneidade mínima para todos os agendadores, sem compartilhar recursos. Outra possibilidade é que os recursos estão atribuídos temporariamente a outros agendadores quando o agendador do proprietário não estiver usando, por todo o processador virtual enraízam nesse thread de hardware que está sendo desligado.

A assinatura no nível de um thread de hardware é denotada pelo número de threads assinados e a raiz virtual ativadas de processador associadas a esse hardware thread. O ponto de vista específico de um agendador, a assinatura externa em nível de um thread de hardware é a parte de assinatura que outros agendadores contribuem para. Notificações que os recursos ocupados externamente são enviadas a um agendador quando a assinatura externa em nível de servidor para um thread de hardware estiver como zero de um valor positivo anterior.

As notificações por esse método são enviadas somente a agendadores que têm uma política em que o valor da chave da política de MinConcurrency é igual ao valor da chave da política de MaxConcurrency . Para obter mais informações sobre as políticas de agendador, consulte SchedulerPolicy.

Um agendador que qualifica para notificações obtém um conjunto de notificações iniciais quando é criado, informando o se os recursos que foram atribuídos apenas é externamente ocupado ou ocioso.

Requisitos

Cabeçalho: concrtrm.h

Namespace: simultaneidade

Consulte também

Referência

Estrutura IScheduler

Método IExecutionResource::CurrentSubscriptionLevel

Método IScheduler::NotifyResourcesExternallyBusy