Kurso de Raku / Funkcia, samtempa, reaktiva kaj reta programado / Samtempa programado / Fadenoj
Starti fadenon
Thread.start prenas blokon kaj plenumas ĝin sur nova
fadeno, redonante objekton Thread, kiu reprezentas la
kurantan laboron:
my $t = Thread.start({ say 'hello from the thread' });La bloko kuras samtempe kun la kodo, kiu sekvas. La ĉefa programo ne atendas ĝin aŭtomate — ĝi daŭrigas tuj, kaj la fadeno faras sian laboron fone.
Unu malgranda sed grava detalo: la argumento devas esti bloko da
kodo. Malplena paro da kunigaj krampoj { } estas malplena
haketabelo, ne malplena bloko, do fadeno ĉiam bezonas
korpon, kiu efektive faras ion:
my $t = Thread.start({ 2 + 2 }); # bone: bloko kun korpoĈar la ĉefa programo kaj la fadeno nun kuras samtempe, vi ne povas fidi la ordon, en kiu ilia eligo aperas — krom se vi eksplicite atendas, ke la fadeno finiĝu, kio estas la temo de la sekva paĝo.
Praktiko
Vin atendas 1 kvizo pri la enhavo de ĉi tiu temo.
Kursa navigado
← Fadenoj | Kvizo — Fadenoj →
💪 Aŭ iru rekte al la ekzercoj de ĉi tiu
sekcio.