Raku kurss / Funkcionālā, paralēlā, reaktīvā un tīmekļa programmēšana / Paralēlā programmēšana / Pavedieni
Pavediena palaišana
Thread.start ņem bloku un izpilda to jaunā pavedienā,
atgriežot Thread objektu, kas pārstāv notiekošo darbu:
my $t = Thread.start({ say 'hello from the thread' });Bloks darbojas vienlaikus ar kodu, kas seko. Galvenā programma to negaida automātiski — tā turpina uzreiz, un pavediens dara savu darbu fonā.
Viena maza, bet svarīga detaļa: argumentam jābūt koda blokam. Tukšs
figūriekavu pāris { } ir tukša hash, nevis
tukšs bloks, tāpēc pavedienam vienmēr vajag ķermeni, kas tiešām kaut ko
dara:
my $t = Thread.start({ 2 + 2 }); # labi: bloks ar ķermeniTā kā galvenā programma un pavediens tagad darbojas vienlaikus, jūs nevarat paļauties uz secību, kādā parādās to izvade — ja vien tieši nesagaidāt pavediena beigas, un tas ir nākamā temata priekšmets.
Prakse
Jūs gaida 1 viktorīna par šī temata saturu.
Kursa navigācija
← Pavedieni | Viktorīna — Pavedieni →
💪 Vai arī dodieties tieši uz šīs sadaļas
vingrinājumiem.