Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Uma interface para uma abstração de um agendador de trabalho que quer que o Gestor de Recursos do Concurrency Runtime lhe entregue threads agendados em modo utilizador (UMS). O Gestor de Recursos utiliza esta interface para comunicar com os agendadores de threads do UMS. A IUMSScheduler interface herda da IScheduler interface.
Sintaxe
struct IUMSScheduler : public IScheduler;
Membros
Métodos Públicos
| Nome | Description |
|---|---|
| IUMSScheduler::SetCompletionList | Atribui uma IUMSCompletionList interface a um agendador de threads UMS. |
Observações
Se estiver a implementar um agendador personalizado que comunica com o Gestor de Recursos, e quiser que threads UMS sejam entregues ao seu agendador em vez de threads Win32 comuns, deve fornecer uma implementação da IUMSScheduler interface. Além disso, deve definir o valor da política para a chave SchedulerKind de política do escalonador como UmsThreadDefault. Se a política especificar thread UMS, a IScheduler interface que é passada como parâmetro para o método IResourceManager::RegisterScheduler deve ser uma IUMSScheduler interface.
O Gestor de Recursos só consegue fornecer threads UMS em sistemas operativos que possuem o recurso UMS. Sistemas operativos de 64 bits com versão Windows 7 e superiores suportam threads UMS. Se criar uma política de agendamento com a SchedulerKind chave definida para o valor UmsThreadDefault e a plataforma subjacente não suportar UMS, o valor da SchedulerKind chave nessa política será alterado para o valor ThreadScheduler. Deve sempre ler este valor da política antes de esperar receber tópicos UMS.
A IUMSScheduler interface é uma das extremidades de um canal bidirecional de comunicação entre um agendador e o Gestor de Recursos. A outra extremidade é representada pelas interfaces IResourceManager e ISchedulerProxy, que são implementadas pelo Gestor de Recursos.
Hierarquia de herança
IUMSScheduler
Requerimentos
Cabeçalho: concrtrm.h
Namespace: simultaneidade
IUMSScheduler::SetCompletionList Método
Atribui uma IUMSCompletionList interface a um agendador de threads UMS.
virtual void SetCompletionList(_Inout_ IUMSCompletionList* pCompletionList) = 0;
Parâmetros
pCompletionList
A interface da lista de conclusão para o agendador. Existe uma única lista por agendador.
Observações
O Gestor de Recursos invocará este método num escalonador que especifica que quer threads UMS, após o escalonador ter solicitado uma alocação inicial de recursos. O escalonador pode usar a IUMSCompletionList interface para determinar quando os proxies de thread UMS foram desbloqueados. Só é válido aceder a esta interface a partir de um proxy de thread a correr numa raiz de processador virtual atribuída ao agendador UMS.
Consulte também
concorrência Namespace
PolicyElementKey
Estrutura de IScheduler
Estrutura IUMSCompletionList
Estrutura IResourceManager