IUMSScheduler Structuur

Een interface voor een abstractie van een werkplanner die wil dat de Resource Manager van de Concurrency Runtime gebruikersmodus-schedulere threads (UMS) overdraagt. Resource Manager gebruikt deze interface om te communiceren met UMS-threadplanners. De IUMSScheduler interface neemt over van de IScheduler interface.

Syntaxis

struct IUMSScheduler : public IScheduler;

Leden

Openbare methoden

Naam Description
IUMSScheduler::SetCompletionList Hiermee wordt een IUMSCompletionList interface toegewezen aan een UMS-threadplanner.

Opmerkingen

Als u een aangepaste planner implementeert die communiceert met Resource Manager en u wilt dat UMS-threads worden overgedragen aan uw planner in plaats van gewone Win32-threads, moet u een implementatie van de IUMSScheduler interface bieden. Daarnaast moet u de beleidwaarde instellen voor de scheduler-beleidssleutelSchedulerKind naar UmsThreadDefault. Als het beleid UMS-thread opgeeft, moet de IScheduler interface die als parameter wordt doorgegeven aan de methode IResourceManager::RegisterScheduler een IUMSScheduler interface zijn.

Resource Manager kan u alleen UMS-threads geven op besturingssystemen met de functie UMS. 64-bits besturingssystemen met versie Windows 7 en hoger ondersteunen UMS-threads. Als u een scheduler-beleid maakt met de SchedulerKind sleutel die is ingesteld op de waarde UmsThreadDefault en het onderliggende platform UMS niet ondersteunt, wordt de waarde van de SchedulerKind sleutel voor dat beleid gewijzigd in de waarde ThreadScheduler. U moet deze beleidswaarde altijd lezen voordat u verwacht UMS-threads te ontvangen.

De IUMSScheduler interface is één uiteinde van een tweerichtingskanaal van communicatie tussen een planner en Resource Manager. Het andere uiteinde wordt vertegenwoordigd door de IResourceManager en ISchedulerProxy interfaces, die worden geïmplementeerd door Resource Manager.

Overnamehiërarchie

IScheduler

IUMSScheduler

Requirements

Koptekst: concrtrm.h

Naamruimte: concurrentie

Methode IUMSScheduler::SetCompletionList

Hiermee wordt een IUMSCompletionList interface toegewezen aan een UMS-threadplanner.

virtual void SetCompletionList(_Inout_ IUMSCompletionList* pCompletionList) = 0;

Parameterwaarden

pCompletionList
De interface voor de voltooiingslijst voor de planner. Er is één lijst per planner.

Opmerkingen

De Resource Manager roept deze methode aan op een scheduler die aangeeft dat UMS-threads nodig zijn, nadat de planner een eerste toewijzing van resources heeft aangevraagd. De scheduler kan de IUMSCompletionList interface gebruiken om te bepalen wanneer UMS-threadproxy's de blokkering hebben opgeheven. Het is alleen toegestaan om deze interface te benaderen vanuit een threadproxy die wordt uitgevoerd op de basis van een virtuele processor die is toegewezen aan de UMS-scheduler.

Zie ook

concurrentie Namespace
PolicyElementKey
IScheduler-structuur
IUMSCompletionList Structuur
IResourceManager-structuur