Метод IScheduler::Statistics
Предоставляет сведения, относящиеся к прибытию задач и уровням завершения и изменение длины очереди для планировщика.
virtual void Statistics(
_Out_ unsigned int * pTaskCompletionRate,
_Out_ unsigned int * pTaskArrivalRate,
_Out_ unsigned int * pNumberOfTasksEnqueued
) =0;
Параметры
pTaskCompletionRate
Число задач, которые выполнены планировщиком с момента последнего вызова этого метода.pTaskArrivalRate
Число задач, которые поступили в планировщик с момента последнего вызова этого метода.pNumberOfTasksEnqueued
Общее число задач во всех очередях планировщика.
Заметки
Этот метод вызывается диспетчером ресурсов для сбора статистики для планировщика. Здесь собранная статистика будет использоваться для обеспечения алгоритмов динамической обратной связи для определения, когда стоит назначить больше ресурсов планировщику и когда следует забрать ресурсы. Значения, предоставленные планировщиком, могут быть оптимистическими и не обязательно нужно точно отражать текущий счетчик.
Необходимо реализовать этот метод, если необходимо использовать диспетчер ресурсов отзыв о таких действий, как прибытии задачи, чтобы определить способ распределения ресурсов между данным планировщиком и другими планировщиками регистрированными с диспетчером ресурсов. Если вы решили не собирать статистику, можно установить ключ политики DynamicProgressFeedback на значение DynamicProgressFeedbackDisabled в политике вашей планировщика и диспетчер ресурсов не будет вызывать этот метод на вашем планировщике.
В отсутствие статистические данные диспетчер ресурсов будет использовать уровни подписки потока оборудования для принятия решений о распределение ресурсов и миграции. Дополнительные сведения об уровнях подписки см. в разделе IExecutionResource::CurrentSubscriptionLevel.
Требования
Заголовок: concrtrm.h
Пространство имен: concurrency