Udostępnij za pośrednictwem


Struktura IUMSScheduler

Interfejs abstrakcji harmonogramu pracy, który chce, aby menedżer zasobów środowiska uruchomieniowego współbieżności przekazał mu wątki z możliwością schedulable (UMS) w trybie użytkownika. Usługa Resource Manager używa tego interfejsu do komunikowania się z harmonogramami wątków usługi UMS. Interfejs IUMSScheduler dziedziczy z interfejsu IScheduler .

Składnia

struct IUMSScheduler : public IScheduler;

Członkowie

Metody publiczne

Nazwa/nazwisko opis
IUMSScheduler::SetCompletionList IUMSCompletionList Przypisuje interfejs do harmonogramu wątków usługi UMS.

Uwagi

Jeśli implementujesz niestandardowy harmonogram, który komunikuje się z usługą Resource Manager i chcesz, aby wątki pakietu UMS zostały przekazane harmonogramowi zamiast zwykłych wątków Win32, należy podać implementację interfejsu IUMSScheduler . Ponadto należy ustawić wartość zasad dla klucza SchedulerKind zasad harmonogramu na UmsThreadDefaultwartość . Jeśli zasady określają wątek UMS, IScheduler interfejs przekazywany jako parametr do metody IResourceManager::RegisterScheduler musi być interfejsem IUMSScheduler .

Usługa Resource Manager może przekazać wątki pakietu UMS tylko w systemach operacyjnych, które mają funkcję UMS. 64-bitowe systemy operacyjne z systemem Windows 7 lub nowszym obsługują wątki UMS. Jeśli tworzysz zasady harmonogramu z kluczem SchedulerKind ustawionym na wartość UmsThreadDefault , a podstawowa platforma nie obsługuje usługi UMS, wartość SchedulerKind klucza dla tych zasad zostanie zmieniona na wartość ThreadScheduler. Przed oczekiwaniem na odbieranie wątków usługi UMS należy zawsze odczytać tę wartość zasad.

Interfejs IUMSScheduler to jeden koniec dwukierunkowego kanału komunikacji między harmonogramem a usługą Resource Manager. Drugi koniec jest reprezentowany przez IResourceManager interfejsy i ISchedulerProxy , które są implementowane przez usługę Resource Manager.

Hierarchia dziedziczenia

Ischeduler

IUMSScheduler

Wymagania

Nagłówek: concrtrm.h

Przestrzeń nazw: współbieżność

IUMSScheduler::SetCompletionList — Metoda

IUMSCompletionList Przypisuje interfejs do harmonogramu wątków usługi UMS.

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

Parametry

pCompletionList
Interfejs listy uzupełniania dla harmonogramu. Istnieje jedna lista na harmonogram.

Uwagi

Usługa Resource Manager wywoła tę metodę w harmonogramie, który określa, że chce wątków usługi UMS, po żądaniu początkowej alokacji zasobów przez harmonogram. Harmonogram może używać interfejsu IUMSCompletionList do określania, kiedy serwery proxy wątku UMS zostały odblokowane. Dostęp do tego interfejsu jest prawidłowy tylko z serwera proxy wątku uruchomionego w katalogu głównym procesora wirtualnego przypisanego do harmonogramu usługi UMS.

Zobacz też

Przestrzeń nazw współbieżności
PolicyElementKey
IScheduler, struktura
IUMSCompletionList, struktura
IResourceManager, struktura