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