Raku kurss / Funkcionālā, paralēlā, reaktīvā un tīmekļa programmēšana / Paralēlā programmēšana / Kanāli / Saņemšana pēc beigām

Viktorīna — Saņemšana pēc beigām

Kanālā ir saņemtas visas nosūtītās vērtības. Kas notiek pie nākamā .receive, ja kanāls joprojām ir atvērts (nekad nav aizvērts)?

0Tas met X::Channel::ReceiveOnClosed
1Tas bloķē, gaidot vērtību, kas varbūt nekad nepienāks
0Tas atgriež Nil
0Tas atgriež tukšu sarakstu ()

Atvērtā kanālā .receive nevar pateikt, vai ceļā ir vēl kāda vērtība, tāpēc tas gaida — iespējams, mūžīgi, ja ražotājs ir apstājies, neaizverot kanālu. Izņēmums X::Channel::ReceiveOnClosed ir aizvērtā kanāla gadījums: tikai aizvērts un tukšs kanāls uzreiz kļūdās, nevis bloķē.

Kursa navigācija

Saņemšana pēc beigām   |   Saņemiet vērtību