Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Интерфейс для абстракции планировщика заданий, который хочет, чтобы диспетчер ресурсов среды выполнения Concurrency Runtime предоставил ему пользовательские потоки, подлежащие планированию (UMS). Диспетчер ресурсов использует этот интерфейс для взаимодействия с планировщиками потоков UMS. Интерфейс IUMSScheduler наследует от интерфейса IScheduler .
Синтаксис
struct IUMSScheduler : public IScheduler;
Участники
Открытые методы
| Имя | Описание |
|---|---|
| IUMSScheduler::SetCompletionList | Назначает интерфейс IUMSCompletionList планировщику потоков UMS. |
Замечания
Если вы реализуете настраиваемый планировщик, взаимодействующий с Resource Manager, и вы хотите, чтобы потоки UMS были переданы планировщику вместо обычных потоков Win32, необходимо предоставить реализацию IUMSScheduler интерфейса. Кроме того, необходимо задать значение политики для ключа политики планировщика SchedulerKind на UmsThreadDefault. Если политика задает поток UMS, интерфейс, IScheduler передаваемый в качестве параметра методу IResourceManager::RegisterScheduler , должен быть интерфейсом IUMSScheduler .
Resource Manager может передавать потоки UMS только в операционных системах, имеющих функцию UMS. 64-разрядные операционные системы с Windows 7 и более поздних версий поддерживают потоки UMS. Если вы создаете политику планировщика с ключом SchedulerKind, заданным значением UmsThreadDefault, и базовая платформа не поддерживает UMS, значение ключа SchedulerKind в этой политике будет изменено на значение ThreadScheduler. Всегда считывайте это значение параметра политики, прежде чем ожидать получения потоков UMS.
Интерфейс IUMSScheduler — это один из двухстороннего канала обмена данными между планировщиком и Диспетчером ресурсов. Другой конец представлен интерфейсами IResourceManager и ISchedulerProxy, которые реализуются Менеджером ресурсов.
Иерархия наследования
IUMSScheduler
Требования
Заголовок: concrtrm.h
Пространство имен: конкурентность
Метод IUMSScheduler::SetCompletionList
IUMSCompletionList Назначает интерфейс планировщику потоков UMS.
virtual void SetCompletionList(_Inout_ IUMSCompletionList* pCompletionList) = 0;
Параметры
pCompletionList
Интерфейс списка завершения для планировщика. Существует один список для планировщика.
Замечания
Диспетчер ресурсов вызовет этот метод на планировщике, указывающем, что он нуждается в UMS-потоках, после того, как планировщик запросил начальное выделение ресурсов. Планировщик может использовать IUMSCompletionList интерфейс, чтобы определить, когда прокси-серверы потоков UMS разблокировались. Это допустимо только для доступа к этому интерфейсу из прокси-сервера потока, работающего в корневом каталоге виртуального процессора, назначенном планировщику UMS.
См. также
Пространство имен параллелизм
PolicyElementKey
Структура IScheduler
Структура IUMSCompletionList
Структура IResourceManager