Třída structured_task_group
structured_task_group Třída představuje vysoce strukturovaných kolekce paralelní práce.Paralelní jednotlivé úkoly, které lze fronty structured_task_group pomocí task_handle objekty a čekat na jejich dokončení nebo zrušení skupiny úkolů před po spuštění, které úkoly, které mají nezačala spuštění bude přerušena.
class structured_task_group;
Členy
Veřejné konstruktory
Název |
Description |
---|---|
Přetíženo.Vytvoří nový structured_task_group objektu. |
|
Ničí structured_task_group objektu.Očekává se buď volání wait nebo run_and_wait metodu na objekt před provedením destructor, dokud se objekt provádí v důsledku zásobníku příkazem kvůli výjimce. |
Veřejné metody
Název |
Description |
---|---|
Díky best effort pokus zrušit podstromu práce kořenem v této skupině úloh.Každý úkol naplánován na úkol skupiny získat stornovány přechodně pokud možno. |
|
Zda je či není skupiny úloh aktuálně z midst zrušení informuje volajícího.Neznamená to nutně, cancel byla volána metoda na structured_task_group objektu (ačkoli takové kvalifikuje jistě vrátit tuto metodu true).Může být případ, structured_task_group objektu provádí vložené a další skupiny úloh nahoru ve stromu práce byla zrušena.V případech jako tyto runtime můžete určit, o který zrušení přelije přes tento structured_task_group objektu, true budou také vráceny. |
|
Přetíženo.Naplánuje úkol structured_task_group objektu.Volající spravuje životnost task_handle objektu předaný _Task_handle parametr.Verze, která přebírá parametr _Placement úlohu se s předpětím směrem k provádění v umístění určeném tímto parametrem. |
|
Přetíženo.Naplánuje úlohu spustit vložená na kontext volání za pomoci structured_task_group objekt pro úplné zrušení podpory.Pokud task_handle objekt je předán jako parametr run_and_wait, volající je zodpovědná za správu platnosti task_handle objektu.Funkce pak čeká, dokud všechny pracovat structured_task_group objektu byla dokončena nebo byla zrušena. |
|
Čeká, dokud všechny pracovat structured_task_group byla dokončena nebo zrušena. |
Poznámky
Existuje několik přísná omezení použití structured_task_group objekt k získání výkonu:
Jeden structured_task_group objekt nelze použít více podprocesů.Všechny operace structured_task_group objektu musí provést podprocesu, který byl objekt vytvořen.Dvě výjimky z tohoto pravidla jsou členské funkce cancel a is_canceling.Objekt pravděpodobně nebude v seznamu sběr lambda výraz a použít v rámci úkolu, pokud je úkol pomocí jedné operace zrušení.
Všechny úlohy naplánované pro structured_task_group objektu jsou naplánovány pomocí task_handle objekty, které musí výslovně spravovat života.
Více skupin může použít pouze v naprosto vnořené pořadí.Pokud dva structured_task_group objekty jsou deklarovány, druhý je deklarována (jedna vnitřní) musí destruct před jakoukoli metodu, s výjimkou cancel nebo is_canceling se nazývá na první (vnější jedna).Tato podmínka platí v případě jednoduše prohlásit více structured_task_group objekty v rámci stejného nebo funkčně vnořené oborů, jakož i případ úkol, který je ve frontě structured_task_group prostřednictvím run nebo run_and_wait metod.
Na rozdíl od obecného task_group třídy ve všech státech structured_task_group třídy jsou konečné.Po skupině úloh ve frontě a čekání na jejich dokončení nelze použít stejnou skupinu znovu.
Další informace naleznete v tématu Úkol rovnoběžnosti (souběžnosti Runtime).
Hierarchii dědičnosti
structured_task_group
Požadavky
Záhlaví: ppl.h
Obor názvů: souběžnosti