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_for parallel_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_group structured_task_group nebo 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 _BeginOversubscription false 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 UmsThreadDefault a 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 dílčího přidělení mezipaměti Concurrency Runtime. |
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, který byla dříve přidělena metodou Alloc suballocatoru mezipaměti Concurrency Runtime. |
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