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