다음을 통해 공유


IExecutionResource::CurrentSubscriptionLevel 메서드

활성화된 가상 프로세서 루트 및 이 실행 리소스가 나타내는 기본 하드웨어 스레드와 현재 관련된 구독한 외부 스레드를 반환합니다.

virtual unsigned int CurrentSubscriptionLevel() const =0;

반환 값

현재 구독 수준입니다.

설명

구독 수준은 하드웨어 스레드와 관련하여 실행 중인 스레드 수를 알려 줍니다. 리소스 관리자가 구독된 스레드의 형식을 알고 있는 스레드와 스레드 프록시를 현재 실행 중인 가상 프로세서 루트만 포함합니다.

매개 변수 doSubscribeCurrentThread를 값 true로 설정한 상태에서 메서드 ISchedulerProxy::SubscribeCurrentThread 또는 메서드 ISchedulerProxy::RequestInitialVirtualProcessors를 호출하면 하드웨어 스레드의 구독 수준이 하나씩 증가합니다. 또한 구독을 나타내는 IExecutionResource 인터페이스를 반환합니다. IExecutionResource::Remove에 해당하는 호출은 하드웨어 스레드의 구독 수준을 하나씩 감소시킵니다.

메서드 IVirtualProcessorRoot::Activate를 사용하여 가상 프로세서 루트를 활성화하는 동작은 하드웨어 스레드의 구독 수준을 1씩 증가시킵니다. 메서드 IVirtualProcessorRoot::Deactivate 또는 IExecutionResource::Remove는 활성화된 가상 프로세서 루트에서 호출되면 구독 수준을 1씩 감소시킵니다.

리소스 관리자는 구독 수준 정보를 스케줄러 간에 리소스를 이동할 시기를 결정하는 방법의 하나로 사용합니다.

요구 사항

헤더: concrtrm.h

네임스페이스: 동시성

참고 항목

기타 리소스

IExecutionResource 구조체