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


Метод IScheduler::NotifyResourcesExternallyIdle

Уведомляет этот планировщик, что аппаратные потоки, представленные набором корней виртуальный процессор в массиве ppVirtualProcessorRoots не используются другими планировщики.

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

Параметры

  • ppVirtualProcessorRoots
    Массив интерфейсов IVirtualProcessorRoot, связанных с потоками оборудования, на которых другие планировщики стали простаивать.

  • count
    Количество интерфейсов IVirtualProcessorRoot в массиве.

Заметки

Существует возможность для определенного аппаратного потока быть присваиваемое несколькими планировщиками в то же время. Одна из причин этого может быть, не хватает потоков оборудования на компьютере, чтобы удовлетворить минимальному параллелизму для всех планировщиков без совместного использования ресурсов. Другая возможность — это, что ресурсы временно назначаются другим планировщики когда планировщик-владелец не использует их, путем отключения всех его корней виртуального процессора в этом потоке оборудования.

Уровень подписки аппаратного потока обозначается количеством подписанных потоков и активированных корней виртуального процессора, связанных с потоком оборудования. С точки зрения конкретного планировщика, уровень внешней подписки аппаратного потока — это часть подписки, которая связана с другие планировщики. Планировщику отправляются уведомления, что ресурсы извне заняты, когда внешний уровень подписки на аппаратный поток падает до нуля из ранее положительного значения.

Уведомления через этот метод только отправляются планировщикам, имеющим политику, где значение ключа политики MinConcurrency равно значению ключа политики MaxConcurrency. Дополнительные сведения о политиках планировщиков см. в разделе SchedulerPolicy.

Планировщик, отобранный для уведомлений, получает или задает набор начальных уведомлений при его создании, сообщая, являются ли только что назначенные ресурсы занятыми извне или простаивающими.

Требования

Заголовок: concrtrm.h

Пространство имен: Concurrency

См. также

Ссылки

Структура IScheduler

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

Метод IExecutionResource::CurrentSubscriptionLevel

Метод IScheduler::NotifyResourcesExternallyBusy