IScheduler::Statistics, méthode
Fournit des informations relatives à l'arrivée des tâches et au taux de réussite ainsi qu'aux modifications de longueur de file d'attente d'un planificateur.
virtual void Statistics(
_Out_ unsigned int * pTaskCompletionRate,
_Out_ unsigned int * pTaskArrivalRate,
_Out_ unsigned int * pNumberOfTasksEnqueued
) =0;
Paramètres
pTaskCompletionRate
Nombre des tâches qui ont été terminées par le planificateur depuis le dernier appel à cette méthode.pTaskArrivalRate
Nombre des tâches qui sont arrivées dans le planificateur depuis le dernier appel à cette méthode.pNumberOfTasksEnqueued
Le nombre total de tâches dans toutes les files d'attente du planificateur.
Notes
Cette méthode est appelée par le Gestionnaire des ressources pour rassembler des statistiques pour un planificateur. Les statistiques rassemblées ici seront utilisées pour exécuter des algorithmes de retour dynamique afin de déterminer quand il convient d'assigner plus de ressources au planificateur et quand il convient d'en retirer. Les valeurs fournies par le planificateur peuvent être optimistes et ne doivent pas nécessairement refléter de manière précise le nombre actuel.
Vous devez appliquer cette méthode si vous voulez que le gestionnaire de ressources utilise des commentaires sur des opérations telles que l'arrivée de tâche pour déterminer comment l'équilibrage de ressources entre votre planificateur et les planificateurs enregistrés avec le gestionnaire de ressources. Si vous choisissez de ne pas rassembler de statistiques, vous pouvez affecter à la clé de stratégie DynamicProgressFeedback la valeur DynamicProgressFeedbackDisabled dans la stratégie de votre planificateur. Ainsi, le Gestionnaire de ressources n'appellera pas cette méthode sur votre planificateur.
En l'absence de statistiques, le Gestionnaire de ressources utilisera des niveaux d'abonnement de thread matériel pour prendre des décisions d'allocation et de migration des ressources. Pour plus d'informations sur les niveaux d'abonnement, consultez IExecutionResource::CurrentSubscriptionLevel.
Configuration requise
En-tête : concrtrm.h
Espace de noms : concurrency