Partilhar via


Estrutura IUMSCompletionList

Representa uma lista de conclusão da UMS. Quando uma sequência UMS bloqueia, o contexto de escalonamento designado pelo escalonador é despachado para decidir o que deve ser agendado no processador virtual principal subjacente enquanto a sequência original está bloqueada. Quando a thread original é desbloqueada, o sistema operativo coloca-a na lista de completude, que é acessível através desta interface. O agendador pode consultar a lista de conclusão no contexto de agendamento designado ou em qualquer outro local onde procure trabalho.

Sintaxe

struct IUMSCompletionList;

Membros

Métodos Públicos

Nome Description
IUMSCompletionList::GetUnblockNotifications Recupera uma cadeia de IUMSUnblockNotification interfaces que representam contextos de execução cujos proxies de thread associados foram desbloqueados desde a última vez que este método foi invocado.

Observações

Um agendador deve ser extremamente cuidadoso com as ações realizadas após utilizar esta interface para retirar itens da lista de conclusão. Os itens devem ser colocados na lista de contextos executáveis do agendador e estar geralmente acessíveis o mais rapidamente possível. É perfeitamente possível que um dos itens retirados da fila tenha recebido a posse de um bloqueio arbitrário. O agendador não pode fazer chamadas arbitrárias de função que possam bloquear entre a chamada para retirar itens da fila e a colocação desses elementos numa lista que geralmente pode ser acedida dentro do agendador.

Hierarquia de herança

IUMSCompletionList

Requerimentos

Cabeçalho: concrtrm.h

Namespace: simultaneidade

IUMSCompletionList::Método GetUnblockNotifications

Recupera uma cadeia de IUMSUnblockNotification interfaces que representam contextos de execução cujos proxies de thread associados foram desbloqueados desde a última vez que este método foi invocado.

virtual IUMSUnblockNotification *GetUnblockNotifications() = 0;

Valor de retorno

Uma cadeia de IUMSUnblockNotification interfaces.

Observações

As notificações devolvidas tornam-se inválidas assim que os contextos de execução são reagendados.

Consulte também

concorrência Namespace
Estrutura IUMSScheduler
Estrutura IUMSUnblockNotification