MCE::Channel::Threads - Channel for producer(s) and many consumers
Contents
Description
A channel class providing queue-like and two-way communication for threads only. Locking is handled using
threads::shared.
The API is described in MCE::Channel.
new
use MCE::Channel;
# The default is tuned for one producer and many consumers.
my $chnl_a = MCE::Channel->new( impl => 'Threads' );
# Specify the 'mp' option for safe use by two or more producers
# sending or receiving on the left side of the channel (i.e.
# ->enqueue/->send or ->recv2/->recv2_nb).
my $chnl_b = MCE::Channel->new( impl => 'Threads', mp => 1 );
Limitations
The t/04_channel_threads tests are disabled on Unix platforms for Perl less than 5.10.1. Basically, the
MCE::Channel::Threads implementation is not supported on older Perls unless the OS vendor applied
upstream patches (i.e. works on RedHat/CentOS 5.x running Perl 5.8.x).
Name
MCE::Channel::Threads - Channel for producer(s) and many consumers
Queue-Like Behavior
enqueue
dequeue
dequeue_nb
end
Two-Way Ipc - Consumer To Producer
send2
recv2
recv2_nb
Two-Way Ipc - Producer To Consumer
send
recv
recv_nb
Version
This document describes MCE::Channel::Threads version 1.901
