Partager via


IScheduler::NotifyResourcesExternallyBusy, méthode

Notifie ce planificateur que les threads matériels représentés par l'ensemble de racines de processeur virtuel du tableau ppVirtualProcessorRoots est maintenant utilisé par d'autres planificateurs.

virtual void NotifyResourcesExternallyBusy(
   _In_reads_(count) IVirtualProcessorRoot ** ppVirtualProcessorRoots,
   unsigned int count
) =0;

Paramètres

  • ppVirtualProcessorRoots
    Tableau des interfaces IVirtualProcessorRoot associées aux threads matériels sur lesquels d'autres planificateurs sont actifs.

  • count
    Nombre d'interfaces de IVirtualProcessorRoot dans le tableau.

Notes

Il est possible pour un thread matériel particulier d'être assigné à plusieurs planificateurs en même temps.Il est possible qu'il n'y ait pas assez de threads matériels sur le système pour satisfaire l'accès concurrentiel minimal pour tous les planificateurs, sans devoir partager les ressources.Il est également possible que les ressources soient assignées temporairement à d'autres planificateurs lorsque le planificateur propriétaire ne les utilise pas, auquel cas toutes ses racines de processeur virtuel sur ce thread matériel sont désactivées.

Le niveau d'abonnement d'un thread matériel est défini par le nombre de threads abonnés et de racines de processeur virtuel activées associés à ce thread matériel.Du point de vue d'un planificateur particulier, le niveau d'abonnement externe d'un thread matériel est la partie de l'abonnement à laquelle d'autres planificateurs contribuent.Notifications que les ressources sont occupées extérieurement est envoyé à un planificateur lorsque le niveau d'abonnement externe pour un thread matériel s'installe de zéro dans territoire positif.

Les notifications via cette méthode sont envoyées uniquement aux planificateurs qui ont une stratégie où la valeur de la clé de stratégie MinConcurrency est égale à la valeur de la clé de stratégie MaxConcurrency.Pour plus d'informations sur les stratégies de planificateur, consultez SchedulerPolicy.

Un planificateur qualifié pour les notifications obtient un jeu de notifications initiales lorsqu'il est créé, en l'informant si les ressources qu'il vient d'assigner sont occupées ou inactives en externe.

Configuration requise

En-tête : concrtrm.h

Accès concurrentiel del'espace de noms :

Voir aussi

Référence

IScheduler, structure

IExecutionResource::CurrentSubscriptionLevel, méthode

IScheduler::NotifyResourcesExternallyIdle, méthode