Raku kurss / Funkcionālā, paralēlā, reaktīvā un tīmekļa programmēšana / Paralēlā programmēšana / Solījumi
start un await
Atslēgvārds start izpilda bloku fonā un tūlīt atgriež
Promise:
my $p = start { 2 + 2 };Darbs notiek Raku pavedienu baseinā, kamēr jūsu programma turpina
savu gaitu. Lai iegūtu rezultātu, izmantojiet await, kas
nogaida solījuma beigas un pasniedz jums tā vērtību:
my $p = start { 2 + 2 };
say await $p; # 4await bloķē tieši tik ilgi, cik vajag solījuma
pabeigšanai, un tad atgriež to, ko bloks radījis, — šeit 4.
Ja darbs līdz gaidīšanas brīdim jau ir padarīts, rezultātu saņemsiet
uzreiz.
Šis pāris — start palaišanai, await
savākšanai — ir uz solījumiem balstītas konkurences kodols. Jūs varat
palaist vairākus darba gabalus, ļaut tiem izpildīties vienlaikus un
sagaidīt to rezultātus tad, kad esat gatavi; tieši uz to būvē nākamais
temats.
Prakse
Jūs gaida 1 viktorīna par šī temata saturu.
Kursa navigācija
← Solījumi | Viktorīna — Solījumi →
💪 Vai arī dodieties tieši uz šīs sadaļas
vingrinājumiem.