Corso di Raku / Programmazione funzionale, concorrente, reattiva e web / Programmazione concorrente / Thread / Exercises / Due thread
Soluzione: Due thread
Ecco una possibile soluzione del compito.
Codice
my ($x, $y);
my $a = Thread.start({ $x = 10 * 10 });
my $b = Thread.start({ $y = 20 * 20 });
$a.finish;
$b.finish;
say $x + $y;🦋 Trova il programma nel file two-threads.raku.
Output
500Commenti
I due thread girano in modo concorrente, ciascuno scrivendo il proprio risultato nella propria variabile condivisa.
La lettura di
$xe$yavviene solo dopo entrambe le chiamate a.finish, quindi i risultati sono con certezza pronti:100 + 400fa500. È unire prima di leggere a rendere affidabile il valore.
Navigazione del corso
← Due thread | Promise →