Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Uma interface para uma abstração de agendador de trabalho que deseja que o Gerenciador de Recursos do Runtime de Simultaneidade forneça threads programáveis no modo de usuário (UMS). O Resource Manager usa essa interface para se comunicar com agendadores de thread UMS. A interface IUMSScheduler herda da interface IScheduler .
Sintaxe
struct IUMSScheduler : public IScheduler;
Membros
Métodos públicos
| Nome | Descrição |
|---|---|
| IUMSScheduler::SetCompletionList | Atribui uma interface IUMSCompletionList a um agendador de thread UMS. |
Comentários
Se você estiver implementando um agendador personalizado que se comunica com o Resource Manager e quiser que os threads UMS sejam entregues ao agendador em vez de threads Win32 comuns, você deverá fornecer uma implementação da interface IUMSScheduler. Além disso, você deve definir o valor da política para que a chave de política do agendador SchedulerKind seja UmsThreadDefault. Se a política especificar o thread UMS, a interface IScheduler, que é passada como um parâmetro para o método IResourceManager::RegisterScheduler, deve ser uma interface IUMSScheduler.
O Resource Manager é capaz de entregar threads UMS somente em sistemas operacionais que têm o recurso UMS. Os threads UMS têm suporte em sistemas operacionais de 64 bits com a versão do Windows 7 e superior. Se você criar uma política de agendador com a chave SchedulerKind definida como o valor UmsThreadDefault e a plataforma subjacente não oferecer suporte à UMS, o valor da chave SchedulerKind nessa política será alterado para o valor ThreadScheduler. Você deve sempre verificar esse valor de política antes de esperar receber threads UMS.
A interface IUMSScheduler é uma das extremidades de um canal bidirecional de comunicação entre um agendador e o Resource Manager. A outra extremidade é representada pelas interfaces IResourceManager e ISchedulerProxy que são implementadas pelo Resource Manager.
Hierarquia de herança
IUMSScheduler
Requisitos
Cabeçalho: concrtrm.h
Namespace: simultaneidade
Método IUMSScheduler::SetCompletionList
Atribui uma interface IUMSCompletionList a um agendador de thread UMS.
virtual void SetCompletionList(_Inout_ IUMSCompletionList* pCompletionList) = 0;
Parâmetros
pCompletionList
A interface de lista de conclusão do agendador. Há uma lista única por agendador.
Comentários
O Resource Manager invocará esse método em um agendador que especifica que ele deseja threads UMS, depois que o agendador solicitar uma alocação inicial de recursos. O agendador pode usar a interface IUMSCompletionList para determinar quando os proxies de thread UMS forem desbloqueados. É permitido acessar esta interface apenas a partir de um proxy de thread que esteja em execução em um núcleo de processador virtual atribuído ao agendador UMS.
Confira também
Namespace de concorrência
PolicyElementKey
IScheduler Estrutura
Estrutura IUMSCompletionList
Estrutura IResourceManager