Курс Raku / Функційне, конкурентне, реактивне та веб-програмування / Конкурентне програмування / Потоки / Вправи / Два потоки
Розв’язання: Два потоки
Ось одне з можливих розв’язань задачі.
Код
my ($x, $y);
my $a = Thread.start({ $x = 10 * 10 });
my $b = Thread.start({ $y = 20 * 20 });
$a.finish;
$b.finish;
say $x + $y;🦋 Знайдіть програму у файлі two-threads.raku.
Вивід
500Коментарі
Два потоки працюють конкурентно, і кожен записує свій результат у власну спільну змінну.
Читання
$xта$yвідбувається лише після обох викликів.finish, тож результати гарантовано готові:100 + 400дорівнює500. Саме приєднання перед читанням робить значення надійним.
Навігація курсом
← Два потоки | Промиси →