Método de IScheduler::NotifyResourcesExternallyIdle

Notifica este Agendador de threads de hardware são representados pelo conjunto de raízes do processador virtual na matriz ppVirtualProcessorRoots não estão sendo usados por outros agendadores.

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

Parâmetros

  • ppVirtualProcessorRoots
    Uma matriz de IVirtualProcessorRoot interfaces associadas aos segmentos de hardware no qual outros agendadores têm se tornado ociosos.

  • count
    O número de IVirtualProcessorRoot interfaces no array.

Comentários

É possível que um thread de hardware específico a ser atribuído a vários agendadores, ao mesmo tempo. Uma razão para isso pode ser que não haja suficiente threads de hardware no sistema para satisfazer a simultaneidade mínima para todos os agendadores, sem compartilhamento de recursos. Outra possibilidade é que os recursos temporariamente são atribuídos a outros agendadores quando o Agendador do proprietário não estiver usando, por meio de todas as suas raízes de processador virtual para esse segmento de hardware que está sendo desativado.

O nível de assinatura de um segmento de hardware é indicado pelo número de threads inscritos e ativado raízes do processador virtual associadas a esse segmento de hardware. Do ponto de vista do Agendador de determinado, o nível de assinatura externa de um segmento de hardware é a parte da inscrição para que outros agendadores contribuem. Que recursos estão ocupados externamente de notificações são enviadas para um programador quando o nível de assinatura externa para um segmento de hardware cai para zero a partir de um valor positivo anterior.

Notificações via este método só são enviadas para agendadores que tenham uma política onde o valor para o MinConcurrency chave de política é igual ao valor o MaxConcurrency chave da diretiva. Para obter mais informações sobre diretivas de Agendador, consulte SchedulerPolicy.

Um programador que se qualifica para notificações obtém um conjunto de notificações iniciais quando ele é criado, informando-o se os recursos que ele foi atribuído apenas são externamente ocupadas ou ociosas.

Requisitos

Cabeçalho: concrtrm.h

Namespace: Simultaneidade

Consulte também

Referência

Estrutura de IScheduler

Outros recursos

Método de IExecutionResource::CurrentSubscriptionLevel

Método de IScheduler::NotifyResourcesExternallyBusy