IScheduler::Statistics 方法

提供有关任务到达和完成率以及计划程序的队列长度更改的信息。

virtual void Statistics(
   unsigned int * pTaskCompletionRate,
   unsigned int * pTaskArrivalRate,
   unsigned int * pNumberOfTasksEnqueued
) =0;

参数

  • pTaskCompletionRate
    自最后一次调用此方法后计划程序已完成的任务数目。

  • pTaskArrivalRate
    自最后一次调用此方法后计划程序中到达的任务数目。

  • pNumberOfTasksEnqueued
    所有计划程序队列中的任务总数。

备注

此方法由资源管理器调用以收集计划程序的统计信息。 此处收集的统计信息将用于驱动动态反馈算法来确定它在何时适合将更多资源指定给计划程序,以及何时拿走资源。 计划程序所提供的值可以是开放式并不一定必须准确地反映当前的计数。

如果希望资源管理使用有关任务到达等的反馈,则应实施该方法。 要确定如何平衡计划程序和用资源管理器注册的其他计划程序之间的资源。 如果选择不收集统计信息,您可以将计划程序策略中的策略键 DynamicProgressFeedback 设置为值 DynamicProgressFeedbackDisabled,资源管理器将不在您的计划程序上调用此方法。

如果缺少统计信息,资源管理器将使用硬件线程订阅级别进行资源分配和迁移决策。 有关订阅级别的详细信息,请参见 IExecutionResource::CurrentSubscriptionLevel

要求

**标头:**concrtrm.h

命名空间: 并发

请参见

参考

IScheduler 结构

PolicyElementKey 枚举

其他资源

IExecutionResource::CurrentSubscriptionLevel 方法