IScheduler::NotifyResourcesExternallyIdle 메서드

배열 ppVirtualProcessorRoots에 있는 가상 프로세서 루트의 집합으로 표현되는 하드웨어 스레드가 다른 스케줄러에 의해 사용되고 있지 않음을 이 스케줄러에 알립니다.

virtual void NotifyResourcesExternallyIdle(
   _In_reads_(count) IVirtualProcessorRoot ** ppVirtualProcessorRoots,
   unsigned int count
) =0;

매개 변수

  • ppVirtualProcessorRoots
    다른 스케줄러가 유휴 상태가 된 하드웨어 스레드와 연결된 IVirtualProcessorRoot 인터페이스의 배열입니다.

  • count
    배열에 있는 IVirtualProcessorRoot의 인스턴스 수입니다.

설명

특정 하드웨어 스레드를 동시에 여러 스케줄러에 할당하는 것이 가능합니다.기 이유 중 하나는 리소스를 공유하지 않고 모든 스케줄러에 대해 최소 동시성을 만족시키는 충분한 하드웨어 스레드가 시스템에 없을 수 있기 때문입니다.다른 가능성은 활성화되는 하드웨어 스레드에서 모든 가상 프로세스 루트에 의해 소유하고 있는 스케줄러가 이를 사용하지 않을 때 리소스가 다른 스케줄러에 일시적으로 할당되지 않는 것입니다.

하드웨어 스레드의 구독 수준은 많은 구독 스레드와 해당 하드웨어 스레드에 연결된 활성화된 가상 프로세서 루트 수로 표시됩니다.특정 스케줄러에서 관점에서 하드웨어 스레드의 외부 구독 수준은 다른 스케줄러가 구독하는 구독 부분입니다.리소스가 외부적으로 사용 중이라는 알림은 하드웨어 스레드의 외부 구독 수준이 이전 양수 값에서 0으로 떨어질 때 스케줄러로 보내집니다.

이 메서드를 통한 알림은 MinConcurrency 정책 키에 대한 값이 MaxConcurrency 정책 키에 대한 값과 같은 정책을 가진 스케줄러에만 보내집니다.스케줄러 정책에 대한 자세한 내용은 SchedulerPolicy를 참조하십시오.

알림을 한정하는 스케줄러는 만들어질 때 초기 알림 집합을 가져와 방금 할당된 리소스가 외부에서 사용 중인지 유휴 상태인지를 알립니다.

요구 사항

헤더: concrtrm.h

네임 스페이스: 동시성

참고 항목

참조

IScheduler 구조체

IExecutionResource::CurrentSubscriptionLevel 메서드

IScheduler::NotifyResourcesExternallyBusy 메서드