Курс по Raku / Функционално, паралелно, реактивно и уеб програмиране / Паралелно програмиране / Обещания
start и await
Ключовата дума start изпълнява блок във фонов режим и
незабавно връща Promise:
my $p = start { 2 + 2 };Работата се извършва в пула от нишки на Raku, докато програмата ви
продължава. За да получите резултата, използвайте await,
който изчаква обещанието да приключи и ви дава стойността му:
my $p = start { 2 + 2 };
say await $p; # 4await блокира точно толкова, колкото е нужно на
обещанието да завърши, и после връща онова, което блокът е дал — тук
4. Ако работата вече е свършена, когато изчаквате,
получавате резултата веднага.
Тази двойка — start за пускане, await за
събиране — е ядрото на паралелността с обещания. Можете да пуснете
няколко парчета работа, да ги оставите да вървят едновременно и да
изчакате резултатите им, когато сте готови — точно върху това надгражда
следващата тема.
Практика
Направете 1 тест върху съдържанието на тази тема.
Навигация в курса
← Обещания | Тест — Обещания →
💪 Или преминете направо към упражненията в този
раздел.