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(
unsigned int * pTaskCompletionRate,
unsigned int * pTaskArrivalRate,
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 implémenter cette méthode si vous souhaitez que le Gestionnaire des ressources utilise les commentaires à propos de l'arrivée de tâches, etc. pour déterminer comment équilibrer la ressource entre votre planificateur et d'autres planificateurs enregistrés dans le Gestionnaire des 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 d'accès : Concurrency