Udostępnij za pośrednictwem


Wyliczenia przestrzeni nazw współbieżności

agent_status Wyliczenie

Prawidłowe stany dla elementu agent.

enum agent_status;

Wartości

Nazwa/nazwisko opis
agent_canceled Element agent został anulowany.
agent_created Element agent został utworzony, ale nie został uruchomiony.
agent_done Zakończenie agent bez anulowania.
agent_runnable Element agent został uruchomiony, ale nie został wprowadzony w jego run metodę.
agent_started Zaczęło agent się.

Uwagi

Aby uzyskać więcej informacji, zobacz Asynchroniczne agenty.

Wymagania

Nagłówek: concrt.h

wyliczenie Agents_EventType

Typy zdarzeń, które można śledzić przy użyciu funkcji śledzenia oferowanych przez bibliotekę agentów

enum Agents_EventType;

Wartości

Nazwa/nazwisko opis
AGENTS_EVENT_CREATE Typ zdarzenia reprezentujący tworzenie obiektu
AGENTS_EVENT_DESTROY Typ zdarzenia, który reprezentuje usunięcie obiektu
AGENTS_EVENT_END Typ zdarzenia, który reprezentuje zakończenie niektórych przetwarzania
AGENTS_EVENT_LINK Typ zdarzenia reprezentujący łączenie bloków komunikatów
AGENTS_EVENT_NAME Typ zdarzenia reprezentujący nazwę obiektu
AGENTS_EVENT_SCHEDULE Typ zdarzenia reprezentujący planowanie procesu
AGENTS_EVENT_START Typ zdarzenia, który reprezentuje inicjację niektórych procesów przetwarzania
AGENTS_EVENT_UNLINK Typ zdarzenia, który reprezentuje odłączanie bloków komunikatów

Wymagania

Nagłówek: concrt.h

ConcRT_EventType Wyliczenie

Typy zdarzeń, które można śledzić przy użyciu funkcji śledzenia oferowanych przez środowisko uruchomieniowe współbieżności.

enum ConcRT_EventType;

Wartości

Nazwa/nazwisko opis
CONCRT_EVENT_ATTACH Typ zdarzenia, który reprezentuje czynność dołączania do harmonogramu.
CONCRT_EVENT_BLOCK Typ zdarzenia, który reprezentuje akcję blokowania kontekstu.
CONCRT_EVENT_DETACH Typ zdarzenia, który reprezentuje czynność odłączenia od harmonogramu.
CONCRT_EVENT_END Typ zdarzenia, który oznacza początek pary zdarzeń początkowych/końcowych.
CONCRT_EVENT_GENERIC Typ zdarzenia używany dla różnych zdarzeń.
CONCRT_EVENT_IDLE Typ zdarzenia, który reprezentuje akt kontekstu staje się bezczynny.
CONCRT_EVENT_START Typ zdarzenia, który oznacza początek pary zdarzeń początkowych/końcowych.
CONCRT_EVENT_UNBLOCK Typ zdarzenia, który reprezentuje czynność odblokowania kontekstu.
CONCRT_EVENT_YIELD Typ zdarzenia, który reprezentuje akt zwracania kontekstu.

Wymagania

Nagłówek: concrt.h Przestrzeń nazw: współbieżność

wyliczenie Concrt_TraceFlags

Flagi śledzenia typów zdarzeń

enum Concrt_TraceFlags;

Wartości

Nazwa/nazwisko opis
AgentEventFlag
AllEventsFlag
ContextEventFlag
PPLEventFlag
ResourceManagerEventFlag
SchedulerEventFlag
VirtualProcessorEventFlag

Wymagania

Nagłówek: concrt.h

CriticalRegionType, wyliczenie

Typ regionu krytycznego, w którym znajduje się kontekst.

enum CriticalRegionType;

Wartości

Nazwa/nazwisko opis
InsideCriticalRegion Wskazuje, że kontekst znajduje się wewnątrz regionu krytycznego. W regionie krytycznym zawieszenia asynchroniczne są ukryte przed harmonogramem. Jeśli takie zawieszenie się stanie, usługa Resource Manager będzie czekać na uruchomienie wątku i po prostu wznowić go zamiast wywołać harmonogram ponownie. Wszelkie blokady podjęte w takim regionie muszą być wykonane ze skrajną ostrożnością.
InsideHyperCriticalRegion Wskazuje, że kontekst znajduje się wewnątrz regionu hiperkrytycznego. W regionie hiperkrytycznym zarówno synchroniczne, jak i asynchroniczne zawieszenia są ukryte przed harmonogramem. Jeśli takie zawieszenie lub blokowanie nastąpi, menedżer zasobów będzie czekać na uruchomienie wątku i po prostu wznowić go zamiast wywołać harmonogram ponownie. Blokady pobrane w takim regionie nigdy nie muszą być udostępniane kodowi działającego poza takim regionem. Spowoduje to nieprzewidywalne zakleszczenie.
OutsideCriticalRegion Wskazuje, że kontekst znajduje się poza dowolnym regionem krytycznym.

Wymagania

Nagłówek: concrtrm.h

DynamicProgressFeedbackType, wyliczenie

Używane przez DynamicProgressFeedback zasady do opisania, czy zasoby harmonogramu zostaną ponownie zrównoważone zgodnie z informacjami statystycznymi zebranymi z harmonogramu, czy tylko na podstawie procesorów wirtualnych przechodzących do stanu bezczynności i wychodzących przez wywołania Activate metod i Deactivate w interfejsie IVirtualProcessorRoot . Aby uzyskać więcej informacji na temat dostępnych zasad harmonogramu, zobacz PolicyElementKey.

enum DynamicProgressFeedbackType;

Wartości

Nazwa/nazwisko opis
ProgressFeedbackDisabled Harmonogram nie zbiera informacji o postępie. Ponowne równoważenie odbywa się wyłącznie na poziomie subskrypcji bazowego wątku sprzętowego. Aby uzyskać więcej informacji na temat poziomów subskrypcji, zobacz IExecutionResource::CurrentSubscriptionLevel.

Ta wartość jest zarezerwowana do użytku przez środowisko uruchomieniowe.
ProgressFeedbackEnabled Harmonogram zbiera informacje o postępie i przekazuje je do menedżera zasobów. Menedżer zasobów wykorzysta te informacje statystyczne do ponownego równoważenia zasobów w imieniu harmonogramu oprócz poziomu subskrypcji bazowego wątku sprzętowego. Aby uzyskać więcej informacji na temat poziomów subskrypcji, zobacz IExecutionResource::CurrentSubscriptionLevel.

Wyliczenie join_type

Typ bloku obsługi komunikatów join .

enum join_type;

Wartości

Nazwa/nazwisko opis
greedy Chciwe join bloki obsługi komunikatów natychmiast akceptują wiadomość po propagacji. Jest to bardziej wydajne, ale ma możliwość blokowania na żywo w zależności od konfiguracji sieci.
non_greedy Wiadomości niechłanne join blokują odroczenie wiadomości i spróbuj je wykorzystywać po ich przybyciu. Są one gwarantowane do pracy, ale wolniejsze.

Wymagania

Nagłówek: agents.h

wyliczenie message_status

Prawidłowe odpowiedzi dla oferty message obiektu do bloku.

enum message_status;

Wartości

Nazwa/nazwisko opis
accepted Element docelowy zaakceptował komunikat.
declined Element docelowy nie zaakceptował wiadomości.
missed Obiekt docelowy próbował zaakceptować wiadomość, ale nie był już dostępny.
postponed Element docelowy odroczył komunikat.

Wymagania

Nagłówek: agents.h

PolicyElementKey, wyliczenie

Klucze zasad opisujące aspekty zachowania harmonogramu. Każdy element zasad jest opisany przez parę klucz-wartość. Aby uzyskać więcej informacji na temat zasad harmonogramu i ich wpływu na harmonogramy, zobacz Harmonogram zadań.

enum PolicyElementKey;

Wartości

Nazwa/nazwisko opis
ContextPriority Priorytet wątku systemu operacyjnego każdego kontekstu w harmonogramie. Jeśli ten klucz jest ustawiony na wartość INHERIT_THREAD_PRIORITY , konteksty w harmonogramie będą dziedziczyć priorytet wątku, który utworzył harmonogram.

Prawidłowe wartości: dowolna z prawidłowych wartości funkcji systemu Windows SetThreadPriority i wartość specjalna INHERIT_THREAD_PRIORITY

Wartość domyślna: THREAD_PRIORITY_NORMAL
ContextStackSize Zarezerwowany rozmiar stosu każdego kontekstu w harmonogramie w kilobajtach.

Prawidłowe wartości: dodatnie liczby całkowite

Wartość domyślna: 0, wskazująca, że używana jest domyślna wartość procesu dla rozmiaru stosu.
DynamicProgressFeedback Określa, czy zasoby harmonogramu zostaną ponownie zrównoważone zgodnie z informacjami statystycznymi zebranymi z harmonogramu, czy tylko na podstawie poziomu subskrypcji podstawowych wątków sprzętowych. Aby uzyskać więcej informacji, zobacz DynamicProgressFeedbackType.

Prawidłowe wartości: element członkowski DynamicProgressFeedbackType wyliczenia lub ProgressFeedbackEnabledProgressFeedbackDisabled

Wartość domyślna: ProgressFeedbackEnabled
LocalContextCacheSize SchedulingProtocol Gdy klucz zasad jest ustawiony na wartość EnhanceScheduleGroupLocality, określa maksymalną liczbę kontekstów możliwych do uruchomienia, które mogą być buforowane w kolejkach lokalnych procesora wirtualnego. Takie konteksty będą zwykle uruchamiane w kolejności ostatniego wyjścia (LIFO) na procesorze wirtualnym, który spowodował ich uruchomienie. Należy pamiętać, że ten klucz zasad nie ma znaczenia, gdy SchedulingProtocol klucz jest ustawiony na wartość EnhanceForwardProgress.

Prawidłowe wartości: liczby całkowite nieujemne

Wartość domyślna: 8
MaxConcurrency Maksymalny poziom współbieżności żądany przez harmonogram. Menedżer zasobów spróbuje początkowo przydzielić ten wiele procesorów wirtualnych. Wartość specjalna MaxExecutionResources wskazuje, że żądany poziom współbieżności jest taki sam jak liczba wątków sprzętowych na maszynie. Jeśli określona MinConcurrency wartość parametru jest większa niż liczba wątków sprzętowych na maszynie i MaxConcurrency jest określona jako MaxExecutionResourceswartość , wartość parametru MaxConcurrency zostanie podniesiona w celu dopasowania do wartości ustawionej dla MinConcurrencyelementu .

Prawidłowe wartości: dodatnie liczby całkowite i wartość specjalna MaxExecutionResources

Wartość domyślna: MaxExecutionResources
MaxPolicyElementKey Maksymalny klucz elementu zasad. Nieprawidłowy klucz elementu.
MinConcurrency Minimalny poziom współbieżności, który musi zostać udostępniony harmonogramowi przez menedżera zasobów. Liczba procesorów wirtualnych przypisanych do harmonogramu nigdy nie będzie mniejsza niż minimalna. Wartość specjalna MaxExecutionResources wskazuje, że minimalny poziom współbieżności jest taki sam jak liczba wątków sprzętowych na maszynie. Jeśli określona MaxConcurrency wartość parametru jest mniejsza niż liczba wątków sprzętowych na maszynie i MinConcurrency jest określona jako MaxExecutionResources, wartość parametru MinConcurrency jest niższa, aby dopasować wartość ustawioną dla MaxConcurrencyparametru .

Prawidłowe wartości: liczby całkowite inne niż ujemne i wartość MaxExecutionResourcesspecjalna . Należy pamiętać, że w przypadku zasad harmonogramu używanych do tworzenia harmonogramów środowiska uruchomieniowego współbieżności wartość 0 jest nieprawidłowa.

Wartość domyślna: 1
SchedulerKind Typ wątków używanych przez harmonogram dla podstawowych kontekstów wykonywania. Aby uzyskać więcej informacji, zobacz SchedulerType.

Prawidłowe wartości: element członkowski SchedulerType wyliczenia, na przykład ThreadScheduler

Wartość domyślna: ThreadScheduler. Przekłada się to na wątki Win32 we wszystkich systemach operacyjnych.
SchedulingProtocol Opisuje algorytm planowania, który będzie używany przez harmonogram. Aby uzyskać więcej informacji, zobacz SchedulingProtocolType.

Prawidłowe wartości: element członkowski SchedulingProtocolType wyliczenia lub EnhanceScheduleGroupLocalityEnhanceForwardProgress

Wartość domyślna: EnhanceScheduleGroupLocality
TargetOversubscriptionFactor Wstępna liczba procesorów wirtualnych na wątek sprzętu. Docelowy współczynnik zastąpienia można zwiększyć przez usługę Resource Manager, jeśli to konieczne, aby spełnić MaxConcurrency wymagania wątków sprzętowych na maszynie.

Prawidłowe wartości: dodatnie liczby całkowite

Wartość domyślna: 1
WinRTInitialization

Wymagania

Nagłówek: concrt.h

SchedulerType, wyliczenie

Używane przez SchedulerKind zasady do opisywania typu wątków, które harmonogram powinien używać dla podstawowych kontekstów wykonywania. Aby uzyskać więcej informacji na temat dostępnych zasad harmonogramu, zobacz PolicyElementKey.

enum SchedulerType;

Wartości

Nazwa/nazwisko opis
ThreadScheduler Wskazuje jawne żądanie zwykłych wątków Win32.
UmsThreadDefault Wątki z możliwością schedulable (UMS) w trybie użytkownika nie są obsługiwane w środowisku uruchomieniowym współbieżności w programie Visual Studio 2013. Użycie UmsThreadDefault jako wartości dla SchedulerType zasad nie spowoduje błędu. Jednak harmonogram utworzony za pomocą tych zasad będzie domyślnie używany w wątkach Win32.

Wymagania

Nagłówek: concrt.h

SchedulingProtocolType, wyliczenie

Używane przez SchedulingProtocol zasady do opisania algorytmu planowania, który będzie używany dla harmonogramu. Aby uzyskać więcej informacji na temat dostępnych zasad harmonogramu, zobacz PolicyElementKey.

enum SchedulingProtocolType;

Wartości

Nazwa/nazwisko opis
EnhanceForwardProgress Harmonogram preferuje działanie okrężne za pomocą grup harmonogramu po wykonaniu każdego zadania. Odblokowywane konteksty są zwykle zaplanowane w sposób pierwszy na pierwszy na wyjście (FIFO). Procesory wirtualne nie buforują odblokowanych kontekstów.
EnhanceScheduleGroupLocality Harmonogram preferuje kontynuowanie pracy nad zadaniami w bieżącej grupie harmonogramu przed przejściem do innej grupy harmonogramu. Odblokowane konteksty są buforowane na procesor wirtualny i są zwykle zaplanowane w trybie ostatniego wyjścia (LIFO) przez procesor wirtualny, który je odblokował.

Wymagania

Nagłówek: concrt.h

SwitchingProxyState, wyliczenie

Służy do oznaczania stanu serwera proxy wątku, gdy wykonuje przełącznik kontekstu współpracy do innego serwera proxy wątku.

enum SwitchingProxyState;

Wartości

Nazwa/nazwisko opis
Blocking Wskazuje, że wątek wywołujący jest kooperacyjnie blokujący i powinien być wyłącznie własnością obiektu wywołującego do czasu ponownego uruchomienia i wykonania innych akcji.
Idle Wskazuje, że wątek wywołujący nie jest już potrzebny przez harmonogram i jest zwracany do usługi Resource Manager. Kontekst, który był wysyłany, nie jest już w stanie być używany przez usługę Resource Manager.
Nesting Wskazuje, że wątek wywołujący zagnieżdża podrzędny harmonogram i jest wymagany przez obiekt wywołujący w celu dołączenia do innego harmonogramu.

Uwagi

Parametr typu SwitchingProxyState jest przekazywany do metody IThreadProxy::SwitchTo w celu poinstruowania usługi Resource Manager, jak traktować serwer proxy wątku, który wykonuje wywołanie.

Aby uzyskać więcej informacji na temat sposobu użycia tego typu, zobacz IThreadProxy::SwitchTo.

task_group_status Wyliczenie

Opisuje stan task_group wykonywania obiektu lub structured_task_group . Wartość tego typu jest zwracana przez wiele metod, które oczekują na ukończenie zadań zaplanowanych do grupy zadań.

enum task_group_status;

Wartości

Nazwa/nazwisko opis
canceled Obiekt task_group or structured_task_group został anulowany. Co najmniej jedno zadanie może nie zostać wykonane.
completed Zadania znajdujące się w kolejce do task_group obiektu lub structured_task_group zostały ukończone pomyślnie.
not_complete Zadania znajdujące się w kolejce task_group do obiektu nie zostały ukończone. Należy pamiętać, że ta wartość nie jest obecnie zwracana przez środowisko uruchomieniowe współbieżności.

Wymagania

Nagłówek: pplinterface.h

WinRTInitializationType, wyliczenie

Używane przez WinRTInitialization zasady do opisania, czy i jak środowisko wykonawcze systemu Windows zostaną zainicjowane w wątkach harmonogramu dla aplikacji, która działa w systemach operacyjnych w wersji Windows 8 lub nowszej. Aby uzyskać więcej informacji na temat dostępnych zasad harmonogramu, zobacz PolicyElementKey.

enum WinRTInitializationType;

Wartości

Nazwa/nazwisko opis
DoNotInitializeWinRT Gdy aplikacja jest uruchamiana w systemach operacyjnych z systemem Windows 8 lub nowszym, wątki w harmonogramie nie zainicjują środowisko wykonawcze systemu Windows .
InitializeWinRTAsMTA Gdy aplikacja jest uruchamiana w systemach operacyjnych z systemem Windows 8 lub nowszym, każdy wątek w harmonogramie zainicjuje środowisko wykonawcze systemu Windows i deklaruje, że jest częścią wielowątkowego mieszkania.

Wymagania

Nagłówek: concrt.h

Zobacz też

Przestrzeń nazw współbieżności