Freigeben über


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 ThreadSchedulergeä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

IScheduler

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