Corso di Raku / Programmazione funzionale, concorrente, reattiva e web / Programmazione concorrente / Channel / Chiudere un channel
Quiz — Chiudere un channel
Cosa stampa il programma seguente?
my $c = Channel.new;
$c.send(1);
$c.send(2);
$c.close;
say $c.list.elems;| 0 | 0 |
| 0 | 1 |
| 1 | 2 |
| 0 | aspetta per sempre |
.list raccoglie ogni valore ancora nel channel e finisce
perché il channel è chiuso. Sono stati inviati due valori, quindi
.elems è 2. Senza il .close,
.list aspetterebbe per sempre.