Share via


Struttura IUMSCompletionList

Rappresenta un elenco di completamento UMS. Quando si blocca il thread UMS, il contesto di pianificazione definito dell'utilità di pianificazione viene inviato per decidere cosa pianificare sulla radice del processore virtuale sottostante mentre il thread originale è bloccato. Quando il thread originale si sblocca, il sistema operativo lo mette in coda nell'elenco di completamento accessibile tramite l'interfaccia. L'utilità di pianificazione può eseguire una query nell'elenco di completamento sul contesto di pianificazione designato o in qualsiasi altra posizione alla ricerca di lavoro.

Sintassi

struct IUMSCompletionList;

Membri

Metodi pubblici

Nome Descrizione
IUMSCompletionList::GetUnblockNotifications Recupera una catena di interfacce che rappresentano i contesti di IUMSUnblockNotification esecuzione i cui proxy di thread associati sono stati sbloccati dall'ultima volta che questo metodo è stato richiamato.

Osservazioni:

Un'utilità di pianificazione deve essere straordinariamente attenta sulle azioni eseguite dopo aver utilizzato questa interfaccia per rimuovere dalla coda gli elementi dall'elenco di completamento. Gli elementi devono essere inseriti nell'elenco di contesti eseguibili dell'utilità di pianificazione ed essere generalmente accessibili il prima possibile. È del tutto possibile che uno degli elementi dequeued abbia avuto la proprietà di un blocco arbitrario. L'utilità di pianificazione non può effettuare chiamate di funzione arbitrarie che possono bloccarsi tra la chiamata agli elementi di rimozione dalla coda e il posizionamento di tali elementi in un elenco a cui è in genere possibile accedere dall'interno dell'utilità di pianificazione.

Gerarchia di ereditarietà

IUMSCompletionList

Requisiti

Intestazione: concrtrm.h

Spazio dei nomi: Concurrency

Metodo IUMSCompletionList::GetUnblockNotifications

Recupera una catena di interfacce che rappresentano i contesti di IUMSUnblockNotification esecuzione i cui proxy di thread associati sono stati sbloccati dall'ultima volta che questo metodo è stato richiamato.

virtual IUMSUnblockNotification *GetUnblockNotifications() = 0;

Valore restituito

Catena di IUMSUnblockNotification interfacce.

Osservazioni:

Le notifiche restituite non sono valide dopo che i contesti di esecuzione vengono riprogrammati.

Vedi anche

Spazio dei nomi concurrency
Struttura IUMSScheduler
Struttura IUMSUnblockNotification