Метод IExecutionResource::CurrentSubscriptionLevel
Возвращает число активированных корней виртуальных процессоров и подписанные внешние потоки, сейчас связанные с базовым аппаратным потоком, который представляет этот ресурс выполнения.
virtual unsigned int CurrentSubscriptionLevel() const =0;
Возвращаемое значение
Текущий уровень подписки.
Заметки
Уровень подписки сообщает, сколько выполняющиеся потоков связано с аппаратным потоком. Это включает только потоки, которые диспетчер ресурсов учитывает в форме подписанных потоков и корни виртуального процессора, которые активно выполняют прокси-потоки.
Вызов метода ISchedulerProxy::SubscribeCurrentThread или метода ISchedulerProxy::RequestInitialVirtualProcessors с параметром doSubscribeCurrentThread, для которого задано значение true, увеличивает уровень подписки аппаратного потока на единицу. Они также возвращают интерфейс IExecutionResource, представляющий подписку. Соответствующий вызов в направлении IExecutionResource::Remove уменьшает уровень подписки аппаратного потока на единицу.
Процесс активации корня виртуальный процессор с помощью метода IVirtualProcessorRoot::Activate увеличивает уровня подписки аппаратного поток на единицу. Методы IVirtualProcessorRoot::Deactivate или IExecutionResource::Remove уменьшают уровень подписки на один при вызове на активированный корень виртуального процессора.
Диспетчер ресурсов использует сведения уровня подписки в качестве одного из способов определить, когда нужно переместить ресурсы между планировщиками.
Требования
Заголовок: concrtrm.h
Пространство имен: concurrency