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;
Elementy członkowskie
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 UmsThreadDefault
wartość . 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
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