Sdílet prostřednictvím


task_group::run_and_wait – metoda

Naplánuje úlohu spustit vložená na kontext volání za pomoci task_group objekt pro úplné zrušení podpory.Funkce pak čeká, dokud všechny pracovat task_group objektu byla dokončena nebo byla zrušena.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.

template<
   class _Function
>
task_group_status run_and_wait(
   task_handle<_Function>& _Task_handle
);

template<
   class _Function
>
task_group_status run_and_wait(
   const _Function& _Func
);

Parametry

  • _Function
    Typ funkce objektu, který bude vyvolána provedení těla úkolu.

  • _Task_handle
    Popisovač úkol, který bude spuštěn vložené na kontext volání.Všimněte si, že volající má odpovědnost za dobu životnosti tohoto objektu.Očekávat, že až do živé bude pokračovat běhu run_and_wait Metoda ukončení zpracování.

  • _Func
    Funkce nazývaný vyvolat subjektu práce.To může být lambda výraz nebo jiného objektu, který podporuje verzi operátor volání funkce s podpisem void operator()().

Vrácená hodnota

Údaj o tom, zda byla splněna čekání nebo skupiny úloh byl zrušen, kvůli operaci zrušit explicitní nebo výjimku je vyvolána z jednoho z jeho úkolů.Další informace naleznete v task_group_status.

Poznámky

Všimněte si, že jeden nebo více úloh naplánovaných tohoto task_group objektu může spustit vložené v kontextu volajícího.

Pokud jeden nebo více úloh naplánovaných tohoto task_group objekt vyvolá výjimku, bude modul runtime vyberte jedna taková výjimka podle své volby a šířit z volání run_and_wait metoda.

Po návratu z run_and_wait na metodu task_group objektu modulu runtime obnoví objekt do čistého stavu, kde ji lze znovu použít.To zahrnuje v případě kde task_group objekt byl zrušen.

Výjimečné cesta spuštění máte pověření k volání buď tuto metodu nebo wait metoda před destruktoru z task_group provede.

Požadavky

Záhlaví: ppl.h

Obor názvů: souběžnosti

Viz také

Referenční dokumentace

task_group – třída

task_group::run – metoda

task_group::wait – metoda

Koncepty

Funkční paralelismus (Concurrency Runtime)