The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

MCE::Channel::Threads - Channel for producer(s) and many consumers

VERSION

This document describes MCE::Channel::Threads version 1.867

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 recieving 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 );

QUEUE-LIKE BEHAVIOR

enqueue
dequeue
dequeue_nb
end

TWO-WAY IPC - PRODUCER TO CONSUMER

send
recv
recv_nb

TWO-WAY IPC - CONSUMER TO PRODUCER

send2
recv2
recv2_nb

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).

AUTHOR

Mario E. Roy, <marioeroy AT gmail DOT com>