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
네임스페이스: 동시성