Reference

MCE::Subs(3pm)

Exports functions mapped directly to MCE methods

NAME

MCE::Subs - Exports functions mapped directly to MCE methods

VERSION

This document describes MCE::Subs version 1.901

SYNOPSIS

 use MCE::Subs;  ## Exports manager and worker functions only
                 ## Getter functions are not exported by default
 use MCE::Subs qw( :getter  );  ## All, including getter functions
 use MCE::Subs qw( :manager );  ## Exports manager functions only
 use MCE::Subs qw( :worker  );  ## Exports worker functions only
 use MCE::Subs qw( :getter :worker );  ## Excludes manager functions

DESCRIPTION

This module exports functions mapped to MCE methods. All exported functions are prototyped, therefore allowing one to call them without using parentheses.

 use MCE::Subs qw( :worker );
 sub user_func {
    my $wid = MCE->wid;
    mce_say "A: $wid";
    mce_sync;
    mce_say "B: $wid";
    mce_sync;
    mce_say "C: $wid";
    mce_sync;
    return;
 }
 MCE->new(
    max_workers => 24, user_func => \&user_func
 );
 mce_run 0 for (1..100);   ## 0 means do not shutdown after running

For the next example, we only want the worker functions to be exported due to using MCE::Map, which takes care of creating a MCE instance and running.

 use MCE::Map;
 use MCE::Subs qw( :worker );
 ## The following serializes output to STDOUT and gathers $_ to @a.
 ## mce_say displays $_ when called without arguments.
 my @a = mce_map { mce_say; $_ } 1 .. 100;
 print scalar @a, "\n";

Unlike the native Perl functions, printf, print, and say methods require the comma after the glob reference or file handle.

 MCE->printf(\*STDERR, "%s\n", $error_msg);
 MCE->print(\*STDERR, $error_msg, "\n");
 MCE->say(\*STDERR, $error_msg);
 MCE->say($fh, $error_msg);
 mce_printf \*STDERR, "%s\n", $error_msg;
 mce_print \*STDERR, $error_msg, "\n";
 mce_say \*STDERR, $error_msg;
 mce_say $fh, $error_msg;

FUNCTIONS for the MANAGER PROCESS via ( :manager )

MCE methods are described in MCE::Core.

•

mce_abort

•

mce_do

•

mce_forchunk

•

mce_foreach

•

mce_forseq

•

mce_freeze

•

mce_process

•

mce_relay_final

•

mce_restart_worker

•

mce_run

•

mce_print

•

mce_printf

•

mce_say

•

mce_send

•

mce_shutdown

•

mce_spawn

•

mce_status

•

mce_thaw

FUNCTIONS for MCE WORKERS via ( :worker )

MCE methods are described in MCE::Core.

•

mce_abort

•

mce_do

•

mce_exit

•

mce_freeze

•

mce_gather

•

mce_last

•

mce_next

•

mce_print

•

mce_printf

•

mce_relay

•

mce_relay_recv

•

mce_say

•

mce_sendto

•

mce_sync

•

mce_thaw

•

mce_yield

GETTERS for MCE ATTRIBUTES via ( :getter )

MCE methods are described in MCE::Core.

•

mce_chunk_id

•

mce_chunk_size

•

mce_max_retries

•

mce_max_workers

•

mce_pid

•

mce_seed

•

mce_sess_dir

•

mce_task_id

•

mce_task_name

•

mce_task_wid

•

mce_tmp_dir

•

mce_user_args

•

mce_wid

INDEX

MCE, MCE::Core

AUTHOR

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

History