Skip to Content
Perl 6 Deep Dive
book

Perl 6 Deep Dive

by Andrew Shitov
September 2017
Beginner
402 pages
9h 52m
English
Packt Publishing
Content preview from Perl 6 Deep Dive

To wait or not to wait?

As we have seen in the previous section, the receive method of the Channel class stalls if there is no data in the channel.

The poll method also reads from the channel but does not block the execution of the program. If there is nothing to read, then it returns an empty value immediately. Let us modify the last example a little bit more and read from the channel five times with a 1-second delay between the poll calls:

my $channel = Channel.new();start {    sleep 3;    $channel.send(42);};for 1..5 {    my $value = $channel.poll;    say $value;    sleep 1;}

This programs prints the following output:

(Any)(Any)(Any)42(Any)

The first three attempts could not get any values because nothing is sent to the $channel, as there is a 3-second ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Perl Hacks

Perl Hacks

Chromatic, Damian Conway, Curtis Ovid Poe, Curtis (Ovid) Poe
Learning Perl 6

Learning Perl 6

brian d foy
Think Perl 6

Think Perl 6

Laurent Rosenfeld, Allen B. Downey
Pro Perl

Pro Perl

Peter Wainwright

Publisher Resources

ISBN: 9781787282049Supplemental Content