IUMSScheduler-Struktur
Eine Schnittstelle zu der Abstraktion eines Arbeitsplaners, der planbare Threads vom Ressourcen-Manager der Concurrency Runtime im Benutzermodus erwartet. Der Ressourcen-Manager verwendet diese Schnittstelle für die Kommunikation mit UMS-Threadplanern. Die IUMSScheduler
-Schnittstelle erbt von der IScheduler
-Schnittstelle.
Syntax
struct IUMSScheduler : public IScheduler;
Member
Öffentliche Methoden
Name | Beschreibung |
---|---|
IUMSScheduler::SetCompletionList | Weist einem UMS-Threadplaner eine IUMSCompletionList Schnittstelle zu. |
Hinweise
Wenn Sie einen benutzerdefinierten Scheduler implementieren, der mit dem Ressourcen-Manager kommuniziert, und Sie möchten, dass UMS-Threads an Ihren Planer übergeben werden sollen, anstatt normale Win32-Threads, sollten Sie eine Implementierung der IUMSScheduler
Schnittstelle bereitstellen. Darüber hinaus sollten Sie den Richtlinienwert für den Planerrichtlinienschlüssel SchedulerKind
auf " UmsThreadDefault
. Wenn die Richtlinie UMS-Thread angibt, muss die Schnittstelle, die IScheduler
als Parameter an die IResourceManager::RegisterScheduler-Methode übergeben wird, eine IUMSScheduler
Schnittstelle sein.
Der Ressourcen-Manager kann Ihnen UMS-Threads nur auf Betriebssystemen mit dem UMS-Feature übergeben. 64-Bit-Betriebssysteme mit Version Windows 7 und höher unterstützen UMS-Threads. Wenn Sie eine Schedulerrichtlinie erstellen, deren SchedulerKind
Schlüssel auf den Wert UmsThreadDefault
festgelegt ist und die zugrunde liegende Plattform UMS nicht unterstützt, wird der Wert des SchedulerKind
Schlüssels für diese Richtlinie in den Wert ThreadScheduler
geändert. Sie sollten diesen Richtlinienwert immer lesen, bevor Sie erwarten, DASS UMS-Threads empfangen werden.
Die IUMSScheduler
Schnittstelle ist ein Ende einer bidirektionale Kommunikation zwischen einem Planer und dem Ressourcen-Manager. Das andere Ende wird durch die IResourceManager
Und ISchedulerProxy
Schnittstellen dargestellt, die vom Ressourcen-Manager implementiert werden.
Vererbungshierarchie
IUMSScheduler
Anforderungen
Kopfzeile: concrtrm.h
Namespace: Parallelität
IUMSScheduler::SetCompletionList-Methode
Weist einem UMS-Threadplaner eine IUMSCompletionList
Schnittstelle zu.
virtual void SetCompletionList(_Inout_ IUMSCompletionList* pCompletionList) = 0;
Parameter
pCompletionList
Die Vervollständigungslistenschnittstelle für den Scheduler. Pro Scheduler gibt es eine einzelne Liste.
Hinweise
Der Ressourcen-Manager ruft diese Methode für einen Scheduler auf, der angibt, dass UMS-Threads angefordert werden sollen, nachdem der Planer eine anfängliche Zuordnung von Ressourcen angefordert hat. Der Scheduler kann die IUMSCompletionList
Schnittstelle verwenden, um zu bestimmen, wann UMS-Threadproxys die Blockierung aufgehoben haben. Es gilt nur für den Zugriff auf diese Schnittstelle von einem Threadproxy, der auf einem virtuellen Prozessorstamm ausgeführt wird, der dem UMS-Scheduler zugewiesen ist.
Siehe auch
Concurrency-Namespace
PolicyElementKey
IScheduler-Struktur
IUMSCompletionList-Struktur
IResourceManager-Struktur