Курс языка программирования Raku / Функциональное, конкурентное, реактивное и веб-программирование / Конкурентное программирование / Каналы / Закрытие канала

Тест — Закрытие канала

Что выведет следующая программа?

my $c = Channel.new;
$c.send(1);
$c.send(2);
$c.close;
say $c.list.elems;
00
01
12
0будет ждать вечно

.list собирает все значения, ещё остающиеся в канале, и завершается, потому что канал закрыт. Было отправлено два значения, поэтому .elems равно 2. Без .close метод .list ждал бы вечно.

Навигация по курсу

Закрытие канала   |   Чтение после конца