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