concurrency – výčty oboru názvů

výčet agent_status

Platné stavy pro znak .agent

enum agent_status;

Hodnoty

Jméno popis
agent_canceled Zrušili jsme ho agent .
agent_created Vytvořili jsme ho, ale nezačli jste ho agent .
agent_done Dokončeno agent bez zrušení.
agent_runnable Byla agent zahájena, ale nebyla zadána její run metoda.
agent_started Začalo to agent .

Poznámky

Další informace naleznete v tématu Asynchronní agenti.

Požadavky

Hlavička: concrt.h

Agents_EventType – výčet

Typy událostí, které lze sledovat pomocí funkce trasování nabízené knihovnou agentů

enum Agents_EventType;

Hodnoty

Jméno popis
AGENTS_EVENT_CREATE Typ události, který představuje vytvoření objektu
AGENTS_EVENT_DESTROY Typ události, který představuje odstranění objektu
AGENTS_EVENT_END Typ události, který představuje závěr určitého zpracování
AGENTS_EVENT_LINK Typ události, který představuje propojení bloků zpráv
AGENTS_EVENT_NAME Typ události představující název objektu
AGENTS_EVENT_SCHEDULE Typ události, který představuje plánování procesu
AGENTS_EVENT_START Typ události, který představuje inicializace určitého zpracování
AGENTS_EVENT_UNLINK Typ události, který představuje zrušení propojení bloků zpráv

Požadavky

Hlavička: concrt.h

ConcRT_EventType – výčet

Typy událostí, které lze sledovat pomocí funkce trasování nabízené modulem Concurrency Runtime.

enum ConcRT_EventType;

Hodnoty

Jméno popis
CONCRT_EVENT_ATTACH Typ události, který představuje akt připojení k plánovači.
CONCRT_EVENT_BLOCK Typ události, který představuje akci blokování kontextu.
CONCRT_EVENT_DETACH Typ události, který představuje akt odpojení od plánovače.
CONCRT_EVENT_END Typ události, který označuje začátek páru počáteční/koncové události.
CONCRT_EVENT_GENERIC Typ události používaný pro různé události.
CONCRT_EVENT_IDLE Typ události, který představuje aktu kontextu, který se stává nečinným.
CONCRT_EVENT_START Typ události, který označuje začátek páru počáteční/koncové události.
CONCRT_EVENT_UNBLOCK Typ události, který představuje akci odblokování kontextu.
CONCRT_EVENT_YIELD Typ události, který představuje akt kontextu, který přináší.

Požadavky

Header: concrt.h Namespace: concurrency

Concrt_TraceFlags – výčet

Příznaky trasování pro typy událostí

enum Concrt_TraceFlags;

Hodnoty

Jméno popis
AgentEventFlag
AllEventsFlag
ContextEventFlag
PPLEventFlag
ResourceManagerEventFlag
SchedulerEventFlag
VirtualProcessorEventFlag

Požadavky

Hlavička: concrt.h

CriticalRegionType – výčet

Typ kritické oblasti, ve které je kontext.

enum CriticalRegionType;

Hodnoty

Jméno popis
InsideCriticalRegion Označuje, že kontext je uvnitř kritické oblasti. V kritické oblasti jsou asynchronní pozastavení v plánovači skryta. Pokud k takovému pozastavení dojde, Resource Manager počká, až se vlákno spustí, a jednoduše ho znovu spustí a nebude ho znovu vyvolávat. Všechny zámky pořízené v takové oblasti musí být s extrémní opatrností.
InsideHyperCriticalRegion Označuje, že kontext je uvnitř hyperkrité oblasti. V případě hyperkritiky jsou synchronní i asynchronní pozastavení před plánovačem skryta. Pokud k takovému pozastavení nebo blokování dojde, správce prostředků počká, až se vlákno spustí, a jednoduše ho obnoví, a nebude ho znovu vyvolávat. Zámky pořízené v takové oblasti nesmí být nikdy sdíleny s kódem spuštěným mimo takovou oblast. To způsobí nepředvídatelné zablokování.
OutsideCriticalRegion Označuje, že kontext je mimo jakoukoli kritickou oblast.

Požadavky

Hlavička: concrtrm.h

DynamicProgressFeedbackType – výčet

DynamicProgressFeedback Tyto zásady používají k popisu, zda budou prostředky pro plánovač znovu vyváženy podle statistických informací shromážděných z plánovače nebo pouze na základě virtuálních procesorů procházejících a mimo stav nečinnosti prostřednictvím volání Activate a Deactivate metod v IVirtualProcessorRoot rozhraní. Další informace o dostupných zásadách plánovače najdete v tématu PolicyElementKey.

enum DynamicProgressFeedbackType;

Hodnoty

Jméno popis
ProgressFeedbackDisabled Plánovač neshromažďuje informace o průběhu. Vyrovnávání se provádí výhradně na úrovni předplatného základního hardwarového vlákna. Další informace o úrovních předplatného najdete v tématu IExecutionResource::CurrentSubscriptionLevel.

Tato hodnota je vyhrazena pro použití modulem runtime.
ProgressFeedbackEnabled Plánovač shromažďuje informace o průběhu a předává je správci prostředků. Správce prostředků bude tyto statistické informace využívat k opětovnému vyvážení prostředků jménem plánovače kromě úrovně předplatného základního hardwarového vlákna. Další informace o úrovních předplatného najdete v tématu IExecutionResource::CurrentSubscriptionLevel.

join_type – výčet

Typ join bloku zasílání zpráv.

enum join_type;

Hodnoty

Jméno popis
greedy Bloky zasílání zpráv greedy join okamžitě přijímají zprávu po šíření. To je efektivnější, ale má možnost živého uzamčení v závislosti na konfiguraci sítě.
non_greedy Zprávy, které nejsou greedy join , odkládají zprávy a zkouší je používat, až dorazí. To je zaručeno, že fungují, ale pomalejší.

Požadavky

Hlavička: agents.h

message_status – výčet

Platné odpovědi na nabídku objektu message do bloku.

enum message_status;

Hodnoty

Jméno popis
accepted Cíl zprávu přijal.
declined Cíl zprávu nepřijal.
missed Cíl se pokusil zprávu přijmout, ale už nebyl k dispozici.
postponed Cíl zprávu odložil.

Požadavky

Hlavička: agents.h

PolicyElementKey – výčet

Klíče zásad popisující aspekty chování plánovače Každý prvek zásady je popsán párem klíč-hodnota. Další informace o zásadách plánovače a jejich dopadu na plánovače najdete v tématu Plánovač úloh.

enum PolicyElementKey;

Hodnoty

Jméno popis
ContextPriority Priorita vlákna operačního systému každého kontextu v plánovači. Pokud je tento klíč nastaven na hodnotu INHERIT_THREAD_PRIORITY kontextů v plánovači, dědí prioritu vlákna, které vytvořil plánovač.

Platné hodnoty: Libovolná z platných hodnot pro funkci Windows SetThreadPriority a zvláštní hodnota INHERIT_THREAD_PRIORITY

Výchozí hodnota: THREAD_PRIORITY_NORMAL
ContextStackSize Rezervovaná velikost zásobníku každého kontextu v plánovači v kilobajtech.

Platné hodnoty: Kladná celá čísla

Výchozí hodnota: 0označující, že se použije výchozí hodnota procesu pro velikost zásobníku.
DynamicProgressFeedback Určuje, zda budou prostředky pro plánovač znovu vyváženy podle statistických informací shromážděných z plánovače nebo pouze na základě úrovně předplatného podkladových hardwarových vláken. Další informace naleznete v tématu DynamicProgressFeedbackType.

Platné hodnoty: Člen výčtu DynamicProgressFeedbackType , buď ProgressFeedbackEnabled nebo ProgressFeedbackDisabled

Výchozí hodnota: ProgressFeedbackEnabled
LocalContextCacheSize SchedulingProtocol Pokud je klíč zásady nastaven na hodnotu EnhanceScheduleGroupLocality, určuje maximální počet spustitelných kontextů, které se můžou ukládat do mezipaměti v jednotlivých místních frontách virtuálního procesoru. Tyto kontexty se obvykle spouštějí v pořadí liFO (last-in-first-out) na virtuálním procesoru, které je způsobilo, že se dají spustit. Všimněte si, že tento klíč zásady nemá význam, pokud SchedulingProtocol je klíč nastaven na hodnotu EnhanceForwardProgress.

Platné hodnoty: Nezáporná celá čísla

Výchozí hodnota: 8
MaxConcurrency Maximální úroveň souběžnosti požadovaná plánovačem. Správce prostředků se pokusí nejprve přidělit tento počet virtuálních procesorů. Speciální hodnota MaxExecutionResources označuje, že požadovaná úroveň souběžnosti je stejná jako počet hardwarových vláken na počítači. Pokud je hodnota zadaná pro MinConcurrency větší než počet hardwarových vláken v počítači a MaxConcurrency je zadána jako MaxExecutionResources, hodnota pro MaxConcurrency je vyvolána tak, aby odpovídala nastavenému parametru MinConcurrency.

Platné hodnoty: Kladná celá čísla a zvláštní hodnota MaxExecutionResources

Výchozí hodnota: MaxExecutionResources
MaxPolicyElementKey Maximální klíč elementu zásad. Neplatný klíč elementu.
MinConcurrency Minimální úroveň souběžnosti, kterou musí plánovač poskytnout správci prostředků. Počet virtuálních procesorů přiřazených plánovači nikdy nebude nižší než minimum. Speciální hodnota MaxExecutionResources označuje, že minimální úroveň souběžnosti je stejná jako počet hardwarových vláken na počítači. Pokud je hodnota zadaná pro MaxConcurrency menší než počet hardwarových vláken v počítači a MinConcurrency je zadána jako MaxExecutionResources, hodnota pro MinConcurrency je nižší, aby odpovídala nastavenému parametru MaxConcurrency.

Platné hodnoty: Nezáporná celá čísla a zvláštní hodnota MaxExecutionResources. Všimněte si, že pro zásady plánovače používané pro vytváření plánovačů concurrency Runtime je hodnota 0 neplatná.

Výchozí hodnota: 1
SchedulerKind Typ vláken, která bude plánovač využívat pro podkladové kontexty spuštění. Další informace naleznete v části SchedulerType.

Platné hodnoty: Člen výčtu SchedulerType , například ThreadScheduler

Výchozí hodnota : ThreadScheduler. To se přeloží na vlákna Win32 ve všech operačních systémech.
SchedulingProtocol Popisuje, který algoritmus plánování bude plánovač používat. Další informace naleznete v tématu SchedulingProtocolType.

Platné hodnoty: Člen výčtu SchedulingProtocolType , buď EnhanceScheduleGroupLocality nebo EnhanceForwardProgress

Výchozí hodnota: EnhanceScheduleGroupLocality
TargetOversubscriptionFactor Nezávazný počet virtuálních procesorů na hardwarové vlákno Cílový faktor oversubscription může Resource Manager v případě potřeby zvýšit tak, aby vyhovoval MaxConcurrency hardwarovým vláknům na počítači.

Platné hodnoty: Kladná celá čísla

Výchozí hodnota: 1
WinRTInitialization

Požadavky

Hlavička: concrt.h

SchedulerType – výčet

Používá se zásadou SchedulerKind k popisu typu vláken, které má plánovač využívat pro podkladové kontexty spouštění. Další informace o dostupných zásadách plánovače najdete v tématu PolicyElementKey.

enum SchedulerType;

Hodnoty

Jméno popis
ThreadScheduler Označuje explicitní požadavek běžných vláken Win32.
UmsThreadDefault Vlákna s možností přístupnosti uživatelského režimu (UMS) nejsou podporována v modulu Concurrency Runtime v sadě Visual Studio 2013. Použití UmsThreadDefault jako hodnoty pro zásadu SchedulerType nebude mít za následek chybu. Plánovač vytvořený pomocí této zásady se ale ve výchozím nastavení použije podprocesy Win32.

Požadavky

Hlavička: concrt.h

SchedulingProtocolType – výčet

Používá se zásadou SchedulingProtocol k popisu, který algoritmus plánování se bude používat pro plánovač. Další informace o dostupných zásadách plánovače najdete v tématu PolicyElementKey.

enum SchedulingProtocolType;

Hodnoty

Jméno popis
EnhanceForwardProgress Plánovač dává přednost kruhovým dotazování prostřednictvím skupin plánů po provedení jednotlivých úloh. Odblokované kontexty se obvykle plánují způsobem FIFO (first-in-first-out). Virtuální procesory neuloží blokované kontexty do mezipaměti.
EnhanceScheduleGroupLocality Plánovač dává přednost tomu, aby před přechodem na jinou skupinu plánů pokračoval v práci na úkolech v rámci aktuální skupiny plánů. Odblokované kontexty se ukládají do mezipaměti na jeden virtuální procesor a obvykle se plánují podle typu LIFO (last-in-first-out) virtuálním procesorem, který je odblokoval.

Požadavky

Hlavička: concrt.h

SwitchingProxyState – výčet

Používá se k označení stavu, ve který je proxy vlákna, když spouští kooperativní kontext přepnutí na jiný proxy vlákno.

enum SwitchingProxyState;

Hodnoty

Jméno popis
Blocking Označuje, že volající vlákno je kooperativně blokující a mělo by být vlastníkem výhradně volající, dokud následně znovu neběží a provede další akci.
Idle Označuje, že volající vlákno už plánovač nepotřebuje a vrací se do Resource Manageru. Kontext, který byl odeslán, už není možné využívat Resource Managerem.
Nesting Označuje, že volající vlákno vnořuje podřízený plánovač a volající ho potřebuje k připojení k jinému plánovači.

Poznámky

Parametr typu SwitchingProxyState se předá metodě IThreadProxy::SwitchTo , který dává Resource Manageru pokyn, jak zacházet s proxy vláknem, který provádí volání.

Další informace o použití tohoto typu naleznete v tématu IThreadProxy::SwitchTo.

task_group_status – výčet

Popisuje stav spuštění objektu nebo structured_task_group objektutask_group. Hodnota tohoto typu je vrácena mnoha metodami, které čekají na dokončení úkolů naplánovaných na skupinu úkolů.

enum task_group_status;

Hodnoty

Jméno popis
canceled Objekt task_group byl structured_task_group zrušen. Nejméně jeden úkol se možná nespusil.
completed Úkoly zařazené do fronty k objektu nebo structured_task_group objektu task_group byly úspěšně dokončeny.
not_complete Úkoly zařazené do fronty objektu task_group nebyly dokončeny. Všimněte si, že tato hodnota není v současnosti vrácena modulem Concurrency Runtime.

Požadavky

Záhlaví: pplinterface.h

WinRTInitializationType – výčet

WinRTInitialization Tato zásada popisuje, jestli a jak se prostředí Windows Runtime inicializují na vlákna plánovače pro aplikaci, která běží v operačních systémech s windows 8 nebo vyšší. Další informace o dostupných zásadách plánovače najdete v tématu PolicyElementKey.

enum WinRTInitializationType;

Hodnoty

Jméno popis
DoNotInitializeWinRT Pokud je aplikace spuštěna v operačních systémech s verzí Windows 8 nebo vyšší, vlákna v plánovači nebudou inicializovat prostředí Windows Runtime .
InitializeWinRTAsMTA Když je aplikace spuštěna v operačních systémech s verzí Windows 8 nebo vyšší, každé vlákno v plánovači inicializuje prostředí Windows Runtime a deklaruje, že je součástí vícevláknového bytu.

Požadavky

Hlavička: concrt.h

Viz také

concurrency – obor názvů