Cursus Raku / Programmatio functionalis, simultanea, reactiva et retialis / Programmatio simultanea / Fila
Fila coniungere
Ut filum finire exspectes, voca ei .finish (quod etiam
.join scribitur). Programma principale ibi consistit donec
filum paratum sit:
my $t = Thread.start({ say 'in the thread' });
$t.finish;
say 'done';Hoc imprimit:
in the thread
doneQuia .finish exspectat, nuntius fili certo ante
done apparebit. Sine .finish ordo imprevisus
esset, et programma etiam finire posset antequam filo occasio imprimendi
esset.
Cum plura fila incipis, unumquodque coniungis ut certus sis omnia perfecisse:
my $a = Thread.start({ 1 + 1 });
my $b = Thread.start({ 2 + 2 });
$a.finish;
$b.finish;
say 'both finished';Duo fila simul currunt, et utrumque ante ultimum say
coniungere garantit both finished solum tunc imprimi cum
vere parata sunt. Coniungere est modus quo laborem simultaneum in
punctum programmatis praedicibile rursus reducis.
Quoniam vocatio methodi in iunctura ad omnem valorem quem tenet
diffunditur, plura fila una expressione coniungere potes. Coniunge ea
operatore all & et voca
.finish in iunctura:
my $a = Thread.start({ 1 + 1 });
my $b = Thread.start({ 2 + 2 });
($a & $b).finish;
say 'both finished';.finish in $a & $b vocare illud in
utroque filo currit, itaque programma exspectat donec neutrum adhuc
currat — idem effectus ac ea singillatim coniungere, sed ut «fini
utrumque horum» legitur et pro quolibet numero filorum per
& coniunctorum operatur.
Navigatio cursus
← Quiz — Fila | In filo exsequere →
💪 Vel recta ad exercitationes huius
sectionis i.