Raku-Kurs / Funktionale, nebenläufige, reaktive und Web-Programmierung / Nebenläufige Programmierung / Channels / Einen Channel schließen

Quiz — Einen Channel schließen

Was gibt das folgende Programm aus?

my $c = Channel.new;
$c.send(1);
$c.send(2);
$c.close;
say $c.list.elems;
00
01
12
0es wartet ewig

.list sammelt jeden noch im Kanal liegenden Wert und endet, weil der Kanal geschlossen ist. Zwei Werte wurden gesendet, .elems ist also 2. Ohne das .close würde .list ewig warten.

Kursnavigation

Einen Channel schließen   |   Empfangen über das Ende hinaus