Scroll to navigation

MCE::Channel::MutexFast(3pm) User Contributed Perl Documentation MCE::Channel::MutexFast(3pm)

NAME

MCE::Channel::MutexFast - Fast channel for producer(s) and many consumers

VERSION

This document describes MCE::Channel::MutexFast version 1.889

DESCRIPTION

A channel class providing queue-like and two-way communication for processes and threads. Locking is handled using MCE::Mutex.

This is similar to MCE::Channel::Mutex but optimized for non-Unicode strings only. The main difference is that this module lacks freeze-thaw serialization. Non-string arguments become stringified; i.e. numbers and undef.

The API is described in MCE::Channel with the sole difference being "send" and "send2" handle one argument.

Current module available since MCE 1.877.

 use MCE::Channel;
 # The default is tuned for one producer and many consumers.
 my $chnl_a = MCE::Channel->new( impl => 'MutexFast' );
 # 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 => 'MutexFast', mp => 1 );
    

QUEUE-LIKE BEHAVIOR

TWO-WAY IPC - PRODUCER TO CONSUMER

TWO-WAY IPC - CONSUMER TO PRODUCER

AUTHOR

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

2023-09-29 perl v5.36.0