Kurso de Raku / Funkcia, samtempa, reaktiva kaj reta programado / Samtempa programado / Fadenoj / Exercises / Du fadenoj

Solvo: Du fadenoj

Jen ebla solvo de la tasko.

Kodo

my ($x, $y);
my $a = Thread.start({ $x = 10 * 10 });
my $b = Thread.start({ $y = 20 * 20 });
$a.finish;
$b.finish;
say $x + $y;

🦋 Vi povas trovi la fontkodon en la dosiero two-threads.raku.

Eligo

500

Komentoj

  1. La du fadenoj kuras samtempe, ĉiu skribante sian rezulton en sian propran komunan variablon.

  2. Legi $x kaj $y okazas nur post ambaŭ vokoj de .finish, do la rezultoj estas garantiite pretaj: 100 + 400 estas 500. Kunigi antaŭ legi estas tio, kio faras la valoron fidinda.

Kursa navigado

Du fadenoj   |   Promesoj