MCE::Channel::Threads3pm
Channel for producer(s) and many consumers
Version
This document describes MCE::Channel::Threads version 1.901
Overview
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 );
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).
Releases
3 releases since Debian 11 (Bullseye); the text changed 2 times.