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

네임 스페이스: 동시성

참고 항목

참조

IScheduler 구조체

PolicyElementKey 열거형

IExecutionResource::CurrentSubscriptionLevel 메서드