Freigeben über


IUMSCompletionList-Struktur

Stellt eine UMS-Vervollständigungsliste dar. Wenn ein UMS-Thread blockiert wird, wird der festgelegte Planungskontext des Planers weitergeleitet, um eine Entscheidung zu treffen, was für den Stamm des zugrunde liegenden virtuellen Prozessors geplant werden soll, während der ursprüngliche Thread blockiert ist. Wenn die Blockierung des ursprüngliche Thread aufgehoben wird, stellt das Betriebssystem ihn in die Warteschlange für die Vervollständigungsliste, auf die durch diese Schnittstelle zugegriffen werden kann. Der Planer kann die Vervollständigungsliste für den festgelegten Planungskontext oder eine beliebige andere Stelle abfragen, in der es nach der Arbeit sucht.

struct IUMSCompletionList;

Member

Öffentliche Methoden

Name

Beschreibungen

IUMSCompletionList::GetUnblockNotifications-Methode

Ruft eine Kette von IUMSUnblockNotification-Schnittstellen ab, die die Ausführungskontexte darstellen, deren zugeordnete Threadproxys seit dem letzten Aufruf dieser Methode nicht mehr blockieren.

Hinweise

Ein Planer muss genau darauf achten, welche Aktionen durchgeführt werden, nachdem diese Schnittstelle zum Entfernen von Elementen aus der Vervollständigungsliste verwendet wurde. Die Elemente sollten auf der Liste ausführbarer Kontexte des Planers platziert werden, und es soll so schnell wie möglich darauf zugegriffen werden können. Es ist möglich, dass einem der aus der Warteschlange entfernten Elemente der Besitz einer beliebigen Sperre übertragen wurde. Der Planer kann keine beliebigen Funktionsaufrufe ausführen, die möglicherweise zwischen dem Aufruf zum Entfernen von Elementen aus der Warteschlange und der Platzierung dieser Elemente in einer Liste zu blockieren, auf die im Allgemeinen von innerhalb des Planers zugegriffen werden kann.

Vererbungshierarchie

IUMSCompletionList

Anforderungen

Header: concrtrm.h

Namespace: Concurrency

Siehe auch

Referenz

Concurrency-Namespace

IUMSScheduler-Struktur

IUMSUnblockNotification-Struktur