IUMSScheduler-Struktur
Eine Schnittstelle zu einer Abstraktion eines Arbeitsplaners, der vom Ressourcen-Manager der Concurrency Runtime im Benutzermodus planbare Threads erwartet. Der Ressourcen-Manager verwendet diese Schnittstelle, um mit UMS-Threadplanern zu kommunizieren. Die IUMSScheduler-Schnittstelle erbt von der IScheduler-Schnittstelle.
struct IUMSScheduler : public IScheduler;
Member
Öffentliche Methoden
Name |
Beschreibungen |
---|---|
Weist einem UMS-Threadplaner eine IUMSCompletionList-Schnittstelle zu. |
Hinweise
Wenn Sie einen benutzerdefinierten Planer implementieren, der mit dem Ressourcen-Manager kommuniziert, und Sie möchten, dass UMS-Threads an Ihren Planer übergeben werden, anstelle gewöhnlicher Win32-Threads, dann müssen Sie eine Implementierung der IUMSScheduler-Schnittstelle bereitstellen. Außerdem sollten Sie den Richtlinienwert für den Planerrichtlinienschlüssel SchedulerKind auf UmsThreadDefault festlegen. Wenn die Richtlinie einen UMS-Thread angibt, muss die IScheduler-Schnittstelle, die als Parameter an die IResourceManager::RegisterScheduler-Methode übergeben wird, eine IUMSScheduler-Schnittstelle sein.
Der Ressourcen-Manager ist in der Lage, Ihnen UMS-Threads nur unter Betriebssystemen zuzuweisen, die über die UMS-Funktion verfügen. 64-Bit-Betriebssysteme mit Version Windows 7 und höher unterstützen UMS-Threads. Wenn Sie eine Planerrichtlinie mit dem SchedulerKind-Schlüsselwert UmsThreadDefault erstellen und die zugrunde liegende Plattform UMS nicht unterstützt, dann wird der Wert des SchedulerKind-Schlüssels dieser Richtlinie in den Wert ThreadScheduler geändert. Sie sollten diesen Richtlinienwert immer zurücklesen, bevor Sie den Empfang von UMS-Threads erwarten.
Die IUMSScheduler-Schnittstelle ist ein Ende eines bidirektionalen Kommunikationskanals zwischen einem Planer und dem Ressourcen-Manager. Das andere Ende wird durch die IResourceManager-Schnittstelle und ISchedulerProxy-Schnittstelle dargestellt, die welche vom Ressourcen-Manager implementiert werden.
Vererbungshierarchie
Anforderungen
Header: concrtrm.h
Namespace: Concurrency