Kurso de Raku / Funkcia, samtempa, reaktiva kaj reta programado / Samtempa programado / Kanaloj / Ricevi post la fino

Kvizo — Ricevi post la fino

Kanalo havas ĉiujn siajn senditajn valorojn jam ricevitaj. Kio okazas ĉe la sekva .receive, se la kanalo estas ankoraŭ malfermita (neniam fermita)?

0Ĝi ĵetas X::Channel::ReceiveOnClosed
1Ĝi blokas, atendante valoron, kiu eble neniam venos
0Ĝi redonas Nil
0Ĝi redonas malplenan liston ()

Sur malfermita kanalo, .receive ne povas diri, ĉu alia valoro estas survoje, do ĝi atendas — eble eterne, se la produktanto ĉesis sen fermi. La escepto X::Channel::ReceiveOnClosed estas la kazo de fermita kanalo: nur fermita, malplena kanalo malsukcesas rapide anstataŭ bloki.

Kursa navigado

Ricevi post la fino   |   Ricevu valoron