Sdílet prostřednictvím


Prosté úlohy

Tento dokument popisuje roli jednoduchých úloh v concurrency Runtime. Jednoduchý úkol je úkol , který plánujete přímo z objektu nebo objektu concurrency::Schedulerconcurrency::ScheduleGroup . Zjednodušená úloha se podobá funkci, kterou poskytujete funkci CreateThread rozhraní API systému Windows. Zjednodušené úlohy jsou proto užitečné při přizpůsobení existujícího kódu tak, aby používaly funkce plánování modulu Concurrency Runtime. Modul Concurrency Runtime sám používá zjednodušené úlohy k naplánování asynchronních agentů a odesílání zpráv mezi asynchronními bloky zpráv.

Tip

Concurrency Runtime poskytuje výchozí plánovač, a proto ho v aplikaci nemusíte vytvářet. Vzhledem k tomu, že plánovač úloh pomáhá vyladit výkon vašich aplikací, doporučujeme začít knihovnou PPL (Parallel Patterns Library) nebo knihovnou asynchronních agentů , pokud s modulem Concurrency Runtime začínáte.

Zjednodušené úlohy mají menší režii než asynchronní agenti a skupiny úloh. Modul runtime vás například neinformuje, když se dokončí jednoduchá úloha. Modul runtime navíc nezachytí ani nezpracuje výjimky, které jsou vyvolány ze zjednodušené úlohy. Další informace o zpracování výjimek a jednoduchých úlohách naleznete v tématu Zpracování výjimek.

U většiny úloh doporučujeme používat robustnější funkce, jako jsou skupiny úloh a paralelní algoritmy, protože umožňují snadněji rozdělit složité úkoly na základní. Další informace o skupinách úloh naleznete v tématu Paralelismus úkolu. Další informace o paralelních algoritmech naleznete v tématu Paralelní algoritmy.

Chcete-li vytvořit zjednodušenou úlohu, zavolejte concurrency::ScheduleGroup::ScheduleTask, concurrency::CurrentScheduler::ScheduleTask nebo concurrency::Scheduler::ScheduleTask metoda. Pokud chcete počkat na dokončení zjednodušené úlohy, počkejte, než se nadřazený plánovač vypne nebo použije synchronizační mechanismus, jako je například objekt concurrency::event .

Příklad

Příklad, který ukazuje, jak přizpůsobit existující kód pro použití odlehčené úlohy, viz Návod: Přizpůsobení existujícího kódu pro použití jednoduchých úloh.

Viz také

Plánovač úloh
Návod: Přizpůsobení stávajícího kódu pro použití prostých úloh