Partager via


IUMSScheduler, structure

Interface avec une abstraction d'un planificateur de tâches qui veut que le gestionnaire des ressources du runtime d'accès concurrentiel lui remette des threads UMS (User-Mode Scheduling). Le gestionnaire des ressources utilise cette interface pour communiquer avec les planificateurs de threads UMS. L'interface IUMSScheduler hérite de l'interface IScheduler .

Syntaxe

struct IUMSScheduler : public IScheduler;

Membres

Méthodes publiques

Nom Description
IUMSScheduler ::SetCompletionList Affecte une IUMSCompletionList interface à un planificateur de threads UMS.

Notes

Si vous implémentez un planificateur personnalisé qui communique avec Resource Manager et que vous souhaitez que les threads UMS soient remis à votre planificateur au lieu de threads Win32 ordinaires, vous devez fournir une implémentation de l’interface IUMSScheduler . En outre, vous devez définir la valeur de stratégie pour que la clé SchedulerKind de stratégie du planificateur soit UmsThreadDefault. Si la stratégie spécifie le thread UMS, l’interface IScheduler transmise en tant que paramètre à la méthode IResourceManager ::RegisterScheduler doit être une IUMSScheduler interface.

Resource Manager est en mesure de vous transmettre des threads UMS uniquement sur les systèmes d’exploitation dotés de la fonctionnalité UMS. Les systèmes d’exploitation 64 bits avec windows 7 et versions ultérieures prennent en charge les threads UMS. Si vous créez une stratégie de planificateur avec la clé définie sur la SchedulerKind valeur UmsThreadDefault et que la plateforme sous-jacente ne prend pas en charge UMS, la valeur de la SchedulerKind clé sur cette stratégie sera remplacée par la valeur ThreadScheduler. Vous devez toujours lire cette valeur de stratégie avant de vous attendre à recevoir des threads UMS.

L’interface IUMSScheduler est une extrémité d’un canal bidirectionnel de communication entre un planificateur et Resource Manager. L’autre extrémité est représentée par les IResourceManager interfaces, ISchedulerProxy qui sont implémentées par Resource Manager.

Hiérarchie d'héritage

IScheduler

IUMSScheduler

Spécifications

En-tête : concrtrm.h

Espace de noms : concurrency

IUMSScheduler ::SetCompletionList, méthode

Affecte une IUMSCompletionList interface à un planificateur de threads UMS.

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

Paramètres

pCompletionList
Interface de liste de saisie semi-automatique pour le planificateur. Il existe une seule liste par planificateur.

Notes

Resource Manager appelle cette méthode sur un planificateur qui spécifie qu’elle souhaite des threads UMS, une fois que le planificateur a demandé une allocation initiale de ressources. Le planificateur peut utiliser l’interface IUMSCompletionList pour déterminer quand les proxys de thread UMS ont été débloqués. Il est valide uniquement pour accéder à cette interface à partir d’un proxy de thread s’exécutant sur une racine de processeur virtuel affectée au planificateur UMS.

Voir aussi

accès concurrentiel Namespace
PolicyElementKey
IScheduler, structure
IUMSCompletionList, structure
IResourceManager, structure