Sdílet prostřednictvím


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

Dd504799.collapse_all(cs-cz,VS.110).gifVeřejné konstruktory

Název

Description

Konstruktor structured_task_group::structured_task_group

Přetíženo.Vytvoří nový structured_task_group objektu.

structured_task_group:: ~ structured_task_group Destructor

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.

Dd504799.collapse_all(cs-cz,VS.110).gifVeřejné metody

Název

Description

Metoda structured_task_group::Cancel

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.

Metoda structured_task_group::is_canceling

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.

Metoda structured_task_group::Run

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.

Metoda structured_task_group::run_and_wait

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.

Metoda structured_task_group::wait

Č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

Viz také

Referenční dokumentace

souběžnost oboru názvů

Třída task_group

Třída task_handle