Поделиться через


Метод 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

См. также

Другие ресурсы

Структура IExecutionResource