concurrency – obor názvů

Concurrency Obor názvů poskytuje třídy a funkce, které poskytují přístup k modulu Concurrency Runtime, souběžné programovací rozhraní pro jazyk C++. Další informace najdete v tématu Concurrency Runtime.

Syntaxe

namespace concurrency;

Členové

Typedefs

Název Popis
runtime_object_identity Každá instance zprávy má identitu, která ji následuje při klonování a předávání mezi komponentami zasílání zpráv. Nemůže to být adresa objektu zprávy.
task_status Typ, který představuje stav terminálu úkolu. Platné hodnoty jsou completed a canceled.
TaskProc Základní abstrakce úkolu definovaného jako void (__cdecl * TaskProc)(void *). Volá se A TaskProc pro vyvolání textu úkolu.
TaskProc_t Základní abstrakce úkolu definovaného jako void (__cdecl * TaskProc_t)(void *). Volá se A TaskProc pro vyvolání textu úkolu.

Třídy

Název Popis
affinity_partitioner – třída Třída affinity_partitioner je podobná static_partitioner třídě, ale zlepšuje spřažení mezipaměti výběrem mapování podrangů na pracovní vlákna. Může výrazně zvýšit výkon, když se smyčka znovu spustí přes stejnou sadu dat a data se vejdou do mezipaměti. Všimněte si, že stejný affinity_partitioner objekt musí být použit s následnými iteracemi paralelní smyčky, která se provádí přes konkrétní datovou sadu, aby bylo možné těžit z umístění dat.
agent – třída Třída určená k použití jako základní třídy pro všechny nezávislé agenty. Slouží ke skrytí stavu před jinými agenty a interakci pomocí předávání zpráv.
auto_partitioner – třída Třída auto_partitioner představuje výchozí metodu parallel_forparallel_for_each a parallel_transform používá se k rozdělení rozsahu, který iteruje. Tato metoda dělení využívá krádež rozsahu pro vyrovnávání zatížení a také pro iteraci zrušení.
bad_target – třída Tato třída popisuje výjimku vyvolanou při zadání bloku zasílání zpráv ukazatel na cíl, který je neplatný pro prováděné operace.
call – třída call Blok zasílání zpráv je více zdrojů uspořádaný target_block tak, že při přijetí zprávy vyvolá zadanou funkci.
cancellation_token – třída Třída cancellation_token představuje schopnost určit, zda byla některá operace požadována ke zrušení. Daný token může být přidružen k , task_groupstructured_task_groupnebo task poskytnout implicitní zrušení. Můžete se také dotazovat na zrušení nebo mít zaregistrované zpětné volání, pokud a kdy je přidruženo cancellation_token_source zrušeno.
cancellation_token_registration – třída Třída cancellation_token_registration představuje oznámení zpětného volání z objektu cancellation_token. register Pokud metoda na objektu cancellation_token se používá k příjmu oznámení o zrušení, cancellation_token_registration vrátí se objekt jako popisovač zpětného volání, aby volající mohl požádat o konkrétní zpětné volání již není provedeno pomocí deregister metody.
cancellation_token_source – třída Třída cancellation_token_source představuje možnost zrušit některé stornovatelné operace.
choice – třída choice Blok zasílání zpráv je více zdrojový blok s jedním cílem, který představuje interakci toku řízení se sadou zdrojů. Blok voleb bude čekat, až některý z více zdrojů vytvoří zprávu a rozšíří index zdroje, který zprávu vytvořil.
combinable – třída Objekt combinable<T> je určen k poskytování privátních kopií dat z více vláken, aby během paralelních algoritmů prováděl uzamykatelné dílčí výpočty bez vláken. Na konci paralelní operace je možné dílčí výpočty s vlákny sloučit do konečného výsledku. Tuto třídu lze použít místo sdílené proměnné a může vést ke zlepšení výkonu, pokud by jinak došlo k velkému množství kolizí u této sdílené proměnné.
concurrent_priority_queue – třída Třída concurrent_priority_queue je kontejner, který umožňuje více vláken souběžné nabízení a pop položek. Položky se přepnou v pořadí priority, kde prioritu určuje functor zadaný jako argument šablony.
concurrent_queue – třída Třída concurrent_queue je sekvenční třída kontejneru, která umožňuje přístup k jeho prvkům jako první in. Umožňuje omezenou sadu operací bezpečných pro souběžnost, například push a try_pop.
concurrent_unordered_map – třída Třída concurrent_unordered_map je kontejner bezpečný pro souběžnost, který řídí různou sekvenci délky prvků typu std::pair<const K, _Element_type>. Posloupnost je reprezentována způsobem, který umožňuje souběžné připojení, přístup k prvkům, přístup k iterátoru a procházení iterátoru.
concurrent_unordered_multimap – třída Třída concurrent_unordered_multimap je kontejner bezpečný pro souběžnost, který řídí různou sekvenci délky prvků typu std::pair<const K, _Element_type>. Sekvence je reprezentována způsobem, který umožňuje souběžné připojení, přístup k prvkům, přístup k iterátoru a procházení iterátoru.
concurrent_unordered_multiset – třída Třída concurrent_unordered_multiset je kontejner bezpečný pro souběžnost, který řídí různou sekvenci délky prvků typu K. Sekvence je reprezentována způsobem, který umožňuje souběžné připojení, přístup k prvkům, přístup k iterátoru a procházení iterátoru.
concurrent_unordered_set – třída Třída concurrent_unordered_set je kontejner bezpečný pro souběžnost, který řídí různou sekvenci délky prvků typu K. Sekvence je reprezentována způsobem, který umožňuje souběžné připojení, přístup k prvkům, přístup k iterátoru a procházení iterátoru.
concurrent_vector – třída Třída concurrent_vector je sekvenční třída kontejneru, která umožňuje náhodný přístup k libovolnému prvku. Umožňuje souběžné bezpečné připojení, přístup k prvkům, přístup k iterátoru a operace procházení iterátoru.
Context – třída Představuje abstrakci kontextu spuštění.
context_self_unblock – třída Tato třída popisuje výjimku vyvolanou při Unblock vyvolání metody Context objektu ze stejného kontextu. To by značilo pokus o odblokování daného kontextu.
context_unblock_unbalanced – třída Tato třída popisuje výjimku vyvolanou voláním Block a Unblock metodami objektu Context nejsou správně spárovány.
critical_section – třída Nereentrantní mutex, který explicitně ví o concurrency Runtime.
CurrentScheduler – třída Představuje abstrakci aktuálního plánovače přidruženého k kontextu volání.
default_scheduler_exists – třída Tato třída popisuje výjimku vyvolanou v případě, že metoda je volána, Scheduler::SetDefaultSchedulerPolicy pokud výchozí plánovač již existuje v rámci procesu.
event – třída Událost ručního resetování, která explicitně ví o concurrency Runtime.
improper_lock – třída Tato třída popisuje výjimku vyvolanou při nesprávném získání zámku.
improper_scheduler_attach – třída Tato třída popisuje výjimku vyvolanou při Attach vyvolání metody na Scheduler objektu, který je již připojen k aktuálnímu kontextu.
improper_scheduler_detach – třída Tato třída popisuje výjimku vyvolanou při CurrentScheduler::Detach vyvolání metody v kontextu, který nebyl připojen k žádnému plánovači pomocí Attach metody objektu Scheduler .
improper_scheduler_reference – třída Tato třída popisuje výjimku vyvolanou při Reference vyvolání metody u objektu Scheduler , který je vypnut, z kontextu, který není součástí tohoto plánovače.
invalid_link_target – třída Tato třída popisuje výjimku vyvolanou při link_target zavolání metody bloku zasílání zpráv a blok zasílání zpráv nemůže propojit s cílem. Může se jednat o výsledek překročení počtu odkazů, které blok zasílání zpráv povoluje, nebo se pokoušíte propojit konkrétní cíl dvakrát se stejným zdrojem.
invalid_multiple_scheduling – třída Tato třída popisuje výjimku vyvolanou v případě, že task_handle je objekt naplánován vícekrát pomocí run metody task_group nebo structured_task_group objektu bez zásahu volání buď wait nebo run_and_wait metody.
invalid_operation – třída Tato třída popisuje výjimku vyvolanou při provedení neplatné operace, která není přesněji popsána jiným typem výjimky vyvolaným modulem Concurrency Runtime.
invalid_oversubscribe_operation – třída Tato třída popisuje výjimku vyvolanou při Context::Oversubscribe volání metody s parametrem nastaveným _BeginOversubscriptionfalse bez předchozího volání Context::Oversubscribe metody s _BeginOversubscription parametrem nastaveným na true.
invalid_scheduler_policy_key – třída Tato třída popisuje výjimku vyvolanou při předání neplatného nebo neznámého klíče do konstruktoru SchedulerPolicy objektu nebo SetPolicyValue metoda objektu SchedulerPolicy je předán klíč, který musí být změněn pomocí jiných prostředků, jako SetConcurrencyLimits je například metoda.
invalid_scheduler_policy_thread_specification – třída Tato třída popisuje výjimku vyvolanou při pokusu o nastavení limitů SchedulerPolicy souběžnosti objektu tak, aby hodnota MinConcurrency klíče byla menší než hodnota MaxConcurrency klíče.
invalid_scheduler_policy_value – třída Tato třída popisuje výjimku vyvolanou v případě, že klíč zásad objektu SchedulerPolicy je nastaven na neplatnou hodnotu pro tento klíč.
ISource – třída Třída ISource je rozhraní pro všechny zdrojové bloky. Zdrojové bloky šíří zprávy do ITarget bloků.
ITarget – třída Třída ITarget je rozhraní pro všechny cílové bloky. Cílové bloky využívají zprávy nabízené bloky ISource .
join – třída join Blok zasílání zpráv je jednocílový, vícesměrový, uspořádanýpropagator_block, který kombinuje zprávy typu T z každého ze svých zdrojů.
location – třída Abstrakce fyzického umístění na hardwaru.
message – třída Základní obálka zprávy obsahující datovou část předávanou mezi bloky zasílání zpráv.
message_not_found – třída Tato třída popisuje výjimku vyvolanou v případě, že blok zasílání zpráv nemůže najít požadovanou zprávu.
message_processor – třída Třída message_processor je abstraktní základní třída pro zpracování message objektů. Řazení zpráv není zaručeno.
missing_wait – třída Tato třída popisuje výjimku vyvolanou v případě, že jsou úkoly stále naplánované na task_group objekt nebo structured_task_group objekt v době, kdy se destruktor objektu spustí. Tato výjimka se nikdy nevyvolá, pokud dojde k dosažení destruktoru z důvodu odvíjení zásobníku v důsledku výjimky.
multi_link_registry – třída Objekt multi_link_registry je objekt network_link_registry , který spravuje více zdrojových bloků nebo více cílových bloků.
multitype_join – třída multitype_join Blok zasílání zpráv je blok pro více zdrojových zpráv s jedním cílem, který kombinuje zprávy různých typů z jednotlivých zdrojů a nabízí řazenou kolekci sloučených zpráv pro své cíle.
nested_scheduler_missing_detach – třída Tato třída popisuje výjimku vyvolanou, když Concurrency Runtime zjistí, že jste zapomněli volat CurrentScheduler::Detach metodu v kontextu připojeném k druhému plánovači pomocí Attach metody objektu Scheduler .
network_link_registry – třída Abstraktní network_link_registry základní třída spravuje propojení mezi zdrojovými a cílovými bloky.
operation_timed_out – třída Tato třída popisuje výjimku vyvolanou při vypršení časového limitu operace.
ordered_message_processor – třída Je to ordered_message_processor bloky message_processor zpráv, které umožňují zpracovávat zprávy v pořadí, v jakém byly přijaty.
overwrite_buffer – třída Blok overwrite_buffer zasílání zpráv je multi-target, multi-source, uspořádaný propagator_block schopný uložit jednu zprávu najednou. Nové zprávy přepíší dříve uchovávané zprávy.
progress_reporter – třída Třída progress reporter umožňuje hlásit průběh oznámení o určitém typu. Každý objekt progress_reporter je vázán na konkrétní asynchronní akci nebo operaci.
propagator_block – třída Třída propagator_block je abstraktní základní třída pro bloky zpráv, které jsou zdrojem i cílem. Kombinuje funkce obou tříd source_block i target_block tříd.
reader_writer_lock – třída Zámek zapisovače čtení na základě fronty s předvolbou zápisu pro zápis do fronty s místním otáčením. Zámek uděluje přístup k autorům a čtenářům v nepřetržitém zatížení spisovatelů ( FIFO).
ScheduleGroup – třída Představuje abstrakci pro skupinu plánů. Skupiny plánování uspořádají sadu souvisejících prací, která je přínosná z toho, že se časově spojí, spuštěním jiného úkolu ve stejné skupině před přesunutím do jiné skupiny nebo prostorově spuštěním více položek ve stejné skupině na stejném uzlu NUMA nebo fyzickém soketu.
Scheduler – třída Představuje abstrakci plánovače concurrency Runtime.
scheduler_not_attached – třída Tato třída popisuje výjimku vyvolanou při provedení operace, která vyžaduje, aby plánovač byl připojen k aktuálnímu kontextu a jeden není.
scheduler_resource_allocation_error – třída Tato třída popisuje výjimku vyvolanou kvůli selhání získání kritického prostředku v concurrency Runtime.
scheduler_worker_creation_error – třída Tato třída popisuje výjimku vyvolanou kvůli selhání vytvoření kontextu spuštění pracovního procesu v Concurrency Runtime.
SchedulerPolicy – třída Třída SchedulerPolicy obsahuje sadu párů klíč/hodnota, jeden pro každý prvek zásady, který řídí chování instance plánovače.
simple_partitioner – třída Třída simple_partitioner představuje statické dělení rozsahu iterated podle parallel_for. Partitioner rozdělí rozsah na bloky dat tak, aby každý blok dat má alespoň počet iterací určených velikostí bloku dat.
single_assignment – třída single_assignment Blok zasílání zpráv je multi-target, multi-source, uspořádaný propagator_block schopný ukládat jeden, zápis-jednou message.
single_link_registry – třída Objekt single_link_registry je objekt network_link_registry , který spravuje pouze jeden zdrojový nebo cílový blok.
source_block – třída Třída source_block je abstraktní základní třída pro bloky pouze zdroje. Třída poskytuje základní funkce správy odkazů a také běžné kontroly chyb.
source_link_manager – třída Objekt source_link_manager spravuje blokové síťové odkazy na ISource bloky zasílání zpráv.
static_partitioner – třída Třída static_partitioner představuje statické dělení rozsahu iterated podle parallel_for. Rozdělovač rozdělí rozsah na tolik bloků dat, kolik je pro podkladový plánovač k dispozici.
structured_task_group – třída Třída structured_task_group představuje vysoce strukturovanou kolekci paralelní práce. Jednotlivé paralelní úkoly můžete zařazovat do fronty na structured_task_group objekty pomocí task_handle objektů a čekat na jejich dokončení nebo zrušit skupinu úloh před dokončením provádění, což přeruší všechny úkoly, které nezačaly provádění.
target_block – třída Třída target_block je abstraktní základní třída, která poskytuje základní funkce správy propojení a kontrolu chyb pouze pro cílové bloky.
task – třída (Concurrency Runtime) Třída PPL (Parallel Patterns Library). task Objekt task představuje práci, kterou lze spustit asynchronně a souběžně s jinými úlohami a paralelní prací vytvořenou paralelními algoritmy v concurrency Runtime. Vygeneruje výsledek typu _ResultType při úspěšném dokončení. Úkoly typu task<void> nevygenerují žádný výsledek. Úkol lze čekat a zrušit nezávisle na ostatních úkolech. Dá se také skládat s jinými úkoly pomocí vzorů pokračování(then) a spojení (when_all) a výběru(when_any).
task_canceled – třída Tato třída popisuje výjimku vyvolanou vrstvou úkolů PPL, aby aktuální úkol zrušil. Také je vyvolána metodou get() pro úkol, pro zrušený úkol.
task_completion_event – třída Třída task_completion_event umožňuje zpozdit provádění úkolu, dokud není splněna podmínka, nebo spustit úkol v reakci na externí událost.
task_continuation_context – třída Třída task_continuation_context umožňuje určit, kde se má pokračování provést. Tato třída je užitečná jenom z aplikace pro UPW. U aplikací, které nejsou prostředí Windows Runtime, je kontext spuštění úlohy určen modulem runtime a nelze ho konfigurovat.
task_group – třída Třída task_group představuje kolekci paralelních prací, na které lze čekat nebo zrušit.
task_handle – třída Třída task_handle představuje individuální paralelní pracovní položku. Zapouzdřuje pokyny a data potřebná ke spuštění kusu práce.
task_options – třída (Concurrency Runtime) Představuje povolené možnosti pro vytvoření úkolu.
timer – třída timer Blok zasílání zpráv je cílsource_block, který umožňuje odeslat zprávu do cíle po uplynutí zadaného časového období nebo v určitých intervalech.
transformer – třída transformer Blok zasílání zpráv je jednocílový, vícesměrový, seřazenýpropagator_block, který může přijímat zprávy jednoho typu a může ukládat nevázaný počet zpráv jiného typu.
unbounded_buffer – třída Blok unbounded_buffer zasílání zpráv je multi-target, multi-source, uspořádaný propagator_block schopný ukládat nevázaný počet zpráv.
unsupported_os – třída Tato třída popisuje výjimku vyvolanou při použití nepodporovaného operačního systému.

Struktury

Název Popis
DispatchState – struktura Struktura DispatchState se používá k přenosu stavu do IExecutionContext::Dispatch metody. Popisuje okolnosti, za kterých Dispatch je metoda vyvolána v IExecutionContext rozhraní.
IExecutionContext – struktura Rozhraní pro kontext spuštění, který může běžet na daném virtuálním procesoru a být kooperačně kontextový.
IExecutionResource – struktura Abstrakce hardwarového vlákna.
IResourceManager – struktura Rozhraní pro Resource Manager modulu Concurrency Runtime. Toto je rozhraní, pomocí kterého plánovači komunikují s Resource Managerem.
IScheduler – struktura Rozhraní pro abstrakci pracovního plánovače Resource Manager modulu Concurrency Runtime používá toto rozhraní ke komunikaci s pracovními plánovači.
ISchedulerProxy – struktura Rozhraní, pomocí kterého plánovači komunikují s Resource Managerem concurrency Runtime a vyjednávají přidělení prostředků.
IThreadProxy – struktura Abstrakce pro vlákno provádění. V závislosti na SchedulerType klíči zásad plánovače, který vytvoříte, vám Resource Manager udělí proxy vlákno, které je podporováno běžným vláknem Win32 nebo vláknem Schedulable (UMS) v uživatelském režimu. Vlákna UMS jsou podporována v 64bitových operačních systémech s verzí Windows 7 a vyšší.
ITopologyExecutionResource – struktura Rozhraní pro spouštěcí prostředek definovaný Resource Managerem.
ITopologyNode – struktura Rozhraní k uzlu topologie, jak je definováno Resource Managerem. Uzel obsahuje jeden nebo více spouštěcích prostředků.
IUMSCompletionList – struktura Představuje seznam dokončení UMS. Když se vlákno UMS zablokuje, odešle se určený kontext plánování plánovače, aby se rozhodl, co naplánovat na základní kořen virtuálního procesoru, zatímco původní vlákno je blokováno. Když původní vlákno odblokuje, operační systém ho zařadí do seznamu dokončení, který je přístupný prostřednictvím tohoto rozhraní. Plánovač může dotazovat seznam dokončení v určeném kontextu plánování nebo na libovolném jiném místě, kde hledá práci.
IUMSScheduler – struktura Rozhraní pro abstrakci pracovního plánovače, který chce, aby Správce prostředků modulu Concurrency Runtime předal vlákno schedulovatelným uživatelským režimem (UMS). Resource Manager používá toto rozhraní ke komunikaci s plánovači vláken UMS. Rozhraní IUMSScheduler dědí z IScheduler rozhraní.
IUMSThreadProxy – struktura Abstrakce pro vlákno provádění. Pokud chcete, aby byl plánovač udělen podprocesy režimu uživatele (UMS), nastavte hodnotu prvku SchedulerKind zásad plánovače na UmsThreadDefaulta implementujte IUMSScheduler rozhraní. Vlákna UMS jsou podporována pouze v 64bitových operačních systémech s verzí Windows 7 a vyšší.
IUMSUnblockNotification – struktura Představuje oznámení z Resource Manageru, že proxy vlákna, které zablokovalo a aktivovalo návrat k určenému kontextu plánování plánovače, se odblokoval a je připravený k naplánování. Toto rozhraní je neplatné, jakmile se znovu přeplánuje kontext spuštění přidruženého proxy vlákna, který se vrátí z GetContext metody.
IVirtualProcessorRoot – struktura Abstrakce hardwarového vlákna, na kterém může být spuštěn proxy vlákno.
scheduler_interface – struktura Rozhraní plánovače
scheduler_ptr – struktura (Concurrency Runtime) Představuje ukazatel na plánovač. Tato třída existuje, aby umožňovala specifikaci sdílené životnosti pomocí shared_ptr nebo pouze prostého odkazu pomocí nezpracovaného ukazatele.

Výčty

Název Popis
agent_status Platné stavy pro znak .agent
Agents_EventType Typy událostí, které lze sledovat pomocí funkce trasování nabízené knihovnou agentů
ConcRT_EventType Typy událostí, které lze sledovat pomocí funkce trasování nabízené modulem Concurrency Runtime.
Concrt_TraceFlags Příznaky trasování pro typy událostí
CriticalRegionType Typ kritické oblasti, ve které je kontext.
DynamicProgressFeedbackType 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.
join_type Typ join bloku zasílání zpráv.
message_status Platné odpovědi na nabídku objektu message do bloku.
PolicyElementKey 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.
SchedulerType 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.
SchedulingProtocolType 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.
SwitchingProxyState 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.
task_group_status 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ů.
WinRTInitializationType 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.

Funkce

Název Popis
Alloc – funkce Přidělí blok paměti velikosti zadané z modulu Concurrency Runtime Ukládání do mezipaměti Suballocator.
asend – funkce Přetíženo. Asynchronní operace odeslání, která naplánuje úlohu, která rozšíří data do cílového bloku.
cancel_current_task – funkce Zruší aktuálně spuštěnou úlohu. Tuto funkci lze volat z těla úkolu, aby se přerušila spuštění úkolu a způsobila, že přejde do canceled stavu.

Není to podporovaný scénář volání této funkce, pokud nejste v těle .task Výsledkem bude nedefinované chování, jako je chybové ukončení nebo nereagování ve vaší aplikaci.
create_async – funkce Vytvoří prostředí Windows Runtime asynchronní konstruktor založený na zadaném uživateli lambda nebo objektu funkce. Návratový create_async typ je jedním z IAsyncAction^hodnot , IAsyncActionWithProgress<TProgress>^, IAsyncOperation<TResult>^nebo IAsyncOperationWithProgress<TResult, TProgress>^ na základě podpisu lambda předaného metodě.
create_task – funkce Přetíženo. Vytvoří objekt úkolu PPL. create_task lze použít kdekoli, kde byste použili konstruktor úloh. Poskytuje se hlavně pro usnadnění práce, protože umožňuje použití klíčového auto slova při vytváření úloh.
CreateResourceManager – funkce Vrátí rozhraní, které představuje jednu instanci Resource Manageru modulu Concurrency Runtime. Správce prostředků zodpovídá za přiřazování prostředků plánovačům, kteří spolu chtějí spolupracovat.
DisableTracing – funkce Zakáže trasování v concurrency Runtime. Tato funkce je zastaralá, protože trasování trasování Trasování událostí pro Windows je ve výchozím nastavení zrušeno.
EnableTracing – funkce Povolí trasování v concurrency Runtime. Tato funkce je zastaralá, protože trasování trasování událostí pro Windows je teď ve výchozím nastavení zapnuté.
Funkce Free Uvolní blok paměti dříve přidělený metodou Alloc concurrency Runtime Ukládání do mezipaměti Suballocator.
get_ambient_scheduler – funkce (Concurrency Runtime)
GetExecutionContextId – funkce Vrátí jedinečný identifikátor, který lze přiřadit kontextu spuštění, který implementuje IExecutionContext rozhraní.
GetOSVersion – funkce Vrátí verzi operačního systému.
GetProcessorCount – funkce Vrátí počet hardwarových vláken v podkladovém systému.
GetProcessorNodeCount – funkce Vrátí počet uzlů NUMA nebo balíčků procesoru v podkladovém systému.
GetSchedulerId – funkce Vrátí jedinečný identifikátor, který lze přiřadit plánovači, který implementuje IScheduler rozhraní.
interruption_point – funkce Vytvoří bod přerušení pro zrušení. Pokud probíhá zrušení v kontextu, kde je tato funkce volána, vyvolá se vnitřní výjimka, která přeruší provádění aktuálně spuštěné paralelní práce. Pokud zrušení neprobíhá, funkce nic nedělá.
is_current_task_group_canceling – funkce Vrátí informaci o tom, jestli je skupina úloh, která se právě spouští v aktuálním kontextu, uprostřed aktivního zrušení (nebo brzy). Všimněte si, že pokud v aktuálním kontextu aktuálně nespouštějí žádnou skupinu úloh, false bude vrácena.
make_choice – funkce Přetíženo. choice Vytvoří blok zasílání zpráv z volitelných Scheduler nebo ScheduleGroup dvou nebo více vstupních zdrojů.
make_greedy_join – funkce Přetíženo. greedy multitype_join Vytvoří blok zasílání zpráv z volitelných Scheduler nebo ScheduleGroup dvou nebo více vstupních zdrojů.
make_join – funkce Přetíženo. non_greedy multitype_join Vytvoří blok zasílání zpráv z volitelných Scheduler nebo ScheduleGroup dvou nebo více vstupních zdrojů.
make_task – funkce Metoda továrny pro vytvoření objektu task_handle .
parallel_buffered_sort – funkce Přetíženo. Uspořádá prvky v zadaném rozsahu do nesestupné pořadí nebo podle kritéria řazení určeného binárním predikátem paralelně. Tato funkce je sémanticky podobná std::sort tomu, že se jedná o porovnávané, nestabilní, místní řazení s tím rozdílem, že potřebuje O(n) další prostor a vyžaduje výchozí inicializaci pro seřazené prvky.
parallel_for – funkce Přetíženo. parallel_for iteruje v rozsahu indexů a provádí uživatelsky zadanou funkci paralelně při každé iteraci.
parallel_for_each – funkce Přetíženo. parallel_for_each použije zadanou funkci na každý prvek v rozsahu paralelně. Je sémanticky ekvivalentní for_each funkci v std oboru názvů s tím rozdílem, že iterace nad prvky se provádí paralelně a pořadí iterace není zadáno. Argument _Func musí podporovat operátor volání funkce formuláře operator()(T) , kde parametr T je typ položky kontejneru iterated.
parallel_invoke – funkce Přetíženo. Spustí objekty funkcí zadané jako parametry paralelně a bloky, dokud se nedokončí jejich provádění. Každý objekt funkce může být výraz lambda, ukazatel na funkci nebo jakýkoli objekt, který podporuje operátor volání funkce s podpisem void operator()().
parallel_radixsort – funkce Přetíženo. Uspořádá prvky v zadaném rozsahu do nesestupné pořadí pomocí algoritmu řazení paprsků. Jedná se o stabilní funkci řazení, která vyžaduje projekční funkci, která může projektovat prvky seřazené do nepodepsaných celočíselného klíče. Pro seřazené prvky se vyžaduje výchozí inicializace.
parallel_reduce – funkce Přetíženo. Vypočítá součet všech prvků v zadaném rozsahu výpočtem po sobě jdoucích částečných součtů nebo vypočítá výsledek po sobě jdoucích částečných výsledků podobně získaných pomocí zadané binární operace jiné než součet paralelně. parallel_reduce je sémanticky podobný std::accumulate, s výjimkou toho, že vyžaduje, aby binární operace byla asociativní, a vyžaduje hodnotu identity místo počáteční hodnoty.
parallel_sort – funkce Přetíženo. Uspořádá prvky v zadaném rozsahu do nesestupné pořadí nebo podle kritéria řazení určeného binárním predikátem paralelně. Tato funkce se sémanticky podobá std::sort tomu, že se jedná o porovnání založené na nestabilním a místní řazení.
parallel_transform – funkce Přetíženo. Použije zadaný objekt funkce na každý prvek ve zdrojovém rozsahu nebo na dvojici prvků ze dvou zdrojových oblastí a paralelně zkopíruje návratové hodnoty objektu funkce do cílového rozsahu. Tato funkce je sémanticky ekvivalentní std::transform.
receive – funkce Přetíženo. Obecná implementace příjmu, která umožňuje kontextu čekat na data z přesně jednoho zdroje a filtrovat hodnoty, které jsou přijaty.
run_with_cancellation_token – funkce Provede objekt funkce okamžitě a synchronně v kontextu daného tokenu zrušení.
send – funkce Přetíženo. Synchronní operace odesílání, která čeká, dokud cíl zprávu přijme nebo odmítne.
funkce set_ambient_scheduler (Concurrency Runtime)
set_task_execution_resources – funkce Přetíženo. Omezuje spouštěcí prostředky používané interními pracovními vlákny Concurrency Runtime na zadanou sadu spřažení.

Tato metoda je platná pouze před vytvořením Resource Manageru nebo mezi dvěma životnostmi Resource Manageru. Je možné ji vyvolat vícekrát, pokud Resource Manager v době vyvolání neexistuje. Po nastavení limitu spřažení zůstane v platnosti až do dalšího platného volání set_task_execution_resources metody.

Zadanou maskou spřažení nemusí být podmnožinou masky spřažení procesu. V případě potřeby se spřažení procesu aktualizuje.
swap – funkce Vymění prvky dvou concurrent_vector objektů.
funkce task_from_exception (Concurrency Runtime)
funkce task_from_result (Concurrency Runtime)
Trace_agents_register_name – funkce Přidruží daný název k bloku zprávy nebo agentu v trasování Trasování událostí pro Windows.
try_receive – funkce Přetíženo. Obecná implementace try-receive, která umožňuje kontextu hledat data z přesně jednoho zdroje a filtrovat hodnoty, které jsou přijaty. Pokud data nejsou připravená, metoda vrátí hodnotu false.
wait – funkce Pozastaví aktuální kontext po zadanou dobu.
when_all – funkce Vytvoří úlohu, která se úspěšně dokončí, když se úspěšně dokončí všechny úkoly zadané jako argumenty.
when_any – funkce Přetíženo. Vytvoří úlohu, která se úspěšně dokončí, když se úspěšně dokončí některý z úkolů zadaných jako argumenty.

Operátory

Název Popis
operator!= Testuje, zda objekt concurrent_vector na levé straně operátoru není roven concurrent_vector objektu na pravé straně.
operátor&ů Přetíženo. Vytvoří úlohu, která se úspěšně dokončí, když se oba úkoly zadané jako argumenty úspěšně dokončí.
operator|| Přetíženo. Vytvoří úlohu, která se úspěšně dokončí, když se úspěšně dokončí některý z úkolů zadaných jako argumenty.
operator< Testuje, zda je concurrent_vector objekt na levé straně operátoru menší než concurrent_vector objekt na pravé straně.
operator<= Testuje, concurrent_vector zda je objekt na levé straně operátoru menší nebo roven concurrent_vector objektu na pravé straně.
operator== Testuje, zda je concurrent_vector objekt na levé straně operátoru concurrent_vector roven objektu na pravé straně.
operator> Testuje, concurrent_vector zda je objekt na levé straně operátoru větší než concurrent_vector objekt na pravé straně.
operator>= Testuje, zda je concurrent_vector objekt na levé straně operátoru větší nebo roven concurrent_vector objektu na pravé straně.

Konstanty

Název Popis
AgentEventGuid Identifikátor GUID kategorie ({B9B5B78C-0713-4898-A21A-C67949DCED07}) popisující události trasování událostí událostí pro Windows aktivované knihovnou agentů v modulu Concurrency Runtime.
ChoreEventGuid Identifikátor GUID kategorie popisující události trasování událostí pro Windows aktivovaný modulem Concurrency Runtime, které přímo souvisejí s úlohami nebo úkoly.
ConcRT_ProviderGuid Guid zprostředkovatele Trasování událostí pro Windows pro Concurrency Runtime.
CONCRT_RM_VERSION_1 Označuje podporu rozhraní Resource Manageru definovaného v sadě Visual Studio 2010.
ConcRTEventGuid Identifikátor GUID kategorie popisující události Trasování událostí pro Windows aktivovaný modulem Concurrency Runtime, které nejsou konkrétně popsány v jiné kategorii.
ContextEventGuid Identifikátor GUID kategorie popisující události Trasování událostí pro Windows aktivovaný modulem Concurrency Runtime, které přímo souvisejí s kontexty.
COOPERATIVE_TIMEOUT_INFINITE Hodnota označující, že čekání by nikdy neměl časový limit vypršel.
COOPERATIVE_WAIT_TIMEOUT Hodnota označující, že časový limit čekání vypršel.
INHERIT_THREAD_PRIORITY Zvláštní hodnota klíče ContextPriority zásad označující, že priorita vlákna všech kontextů v plánovači by měla být stejná jako u vlákna, které vytvořil plánovač.
LockEventGuid Identifikátor GUID kategorie popisující události Trasování událostí pro Windows aktivovaný modulem Concurrency Runtime, které přímo souvisejí se zámky.
MaxExecutionResources Zvláštní hodnota pro klíče MinConcurrency zásad a MaxConcurrency. Výchozí hodnota je počet hardwarových vláken v počítači bez dalších omezení.
PPLParallelForeachEventGuid Identifikátor GUID kategorie popisující události Trasování událostí pro Windows aktivovaný modulem Concurrency Runtime, které přímo souvisejí s využitím parallel_for_each funkce.
PPLParallelForEventGuid Identifikátor GUID kategorie popisující události Trasování událostí pro Windows aktivovaný modulem Concurrency Runtime, které přímo souvisejí s využitím parallel_for funkce.
PPLParallelInvokeEventGuid Identifikátor GUID kategorie popisující události Trasování událostí pro Windows aktivovaný modulem Concurrency Runtime, které přímo souvisejí s využitím parallel_invoke funkce.
ResourceManagerEventGuid Identifikátor GUID kategorie popisující události Trasování událostí pro Windows aktivovaný modulem Concurrency Runtime, které přímo souvisejí se správcem prostředků.
ScheduleGroupEventGuid Identifikátor GUID kategorie popisující události trasování událostí pro Windows aktivovaný modulem Concurrency Runtime, které přímo souvisejí se skupinami plánů.
SchedulerEventGuid Identifikátor GUID kategorie popisující události Trasování událostí pro Windows aktivovaný modulem Concurrency Runtime, které přímo souvisejí s aktivitou plánovače.
VirtualProcessorEventGuid Identifikátor GUID kategorie popisující události Trasování událostí pro Windows aktivovaný modulem Concurrency Runtime, které přímo souvisejí s virtuálními procesory.

Požadavky

Hlavička: agents.h, concrt.h, concrtrm.h, concurrent_priority_queue.h, concurrent_queue.h, concurrent_unordered_map.h, concurrent_unordered_set.h, concurrent_vector.h, internal_concurrent_hash.h, internal_split_ordered_list.h, ppl.h, pplcancellation_token.h, pplconcrt.h, pplinterface.h, ppltasks.h

Viz také

Odkaz