Структура IUMSScheduler

Интерфейс абстракции планировщика, которому требуется, чтобы диспетчер ресурсов среды выполнения с параллелизмом передал ему потоки планировщика в пользовательском режиме (UMS). Диспетчер ресурсов среды выполнения с параллелизмом использует этот интерфейс для взаимодействия с планировщиками потоков UMS. Интерфейс IUMSScheduler наследует от интерфейса IScheduler .

Синтаксис

struct IUMSScheduler : public IScheduler;

Участники

Открытые методы

Имя Описание
IUMSScheduler::SetCompletionList IUMSCompletionList Назначает интерфейс планировщику потоков UMS.

Замечания

Если вы реализуете настраиваемый планировщик, взаимодействующий с Resource Manager, и вы хотите, чтобы потоки UMS были переданы планировщику вместо обычных потоков Win32, необходимо предоставить реализацию IUMSScheduler интерфейса. Кроме того, необходимо задать значение политики для ключа SchedulerKindUmsThreadDefaultполитики планировщика. Если политика задает поток UMS, интерфейс, IScheduler передаваемый в качестве параметра методу IResourceManager::RegisterScheduler , должен быть интерфейсом IUMSScheduler .

Resource Manager может передавать потоки UMS только в операционных системах, имеющих функцию UMS. 64-разрядные операционные системы с windows 7 и более поздней поддерживают потоки UMS. Если вы создаете политику планировщика с ключом, SchedulerKind заданным значением UmsThreadDefault , и базовая платформа не поддерживает UMS, значение SchedulerKind ключа для этой политики будет изменено на значение ThreadScheduler. Прежде чем ожидать получения потоков UMS, всегда следует считывать это значение политики.

Интерфейс IUMSScheduler — это один из двухстороннего канала обмена данными между планировщиком и Диспетчером ресурсов. Другой конец представлен интерфейсами IResourceManager и ISchedulerProxy интерфейсами, которые реализуются Resource Manager.

Иерархия наследования

IScheduler

IUMSScheduler

Требования

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

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

Метод IUMSScheduler::SetCompletionList

IUMSCompletionList Назначает интерфейс планировщику потоков UMS.

virtual void SetCompletionList(_Inout_ IUMSCompletionList* pCompletionList) = 0;

Параметры

pCompletionList
Интерфейс списка завершения для планировщика. Существует один список для планировщика.

Замечания

Resource Manager вызовет этот метод на планировщике, который указывает, что он хочет потоков UMS, после того, как планировщик запросил начальное выделение ресурсов. Планировщик может использовать IUMSCompletionList интерфейс, чтобы определить, когда прокси-серверы потоков UMS разблокировались. Это допустимо только для доступа к этому интерфейсу из прокси-сервера потока, работающего в корневом каталоге виртуального процессора, назначенном планировщику UMS.

См. также

Пространство имен concurrency
PolicyElementKey
Структура IScheduler
Структура IUMSCompletionList
Структура IResourceManager