MCE has been released for Perl. This is how one could do this with MCE. Not knowing what you're wanting to do in the main caller, the example has 2 callback functions.
Both workers run in parallel below. Workers never exit due to running inside a never ending loop. The do method passes data back to the main process or thread.
http://code.google.com/p/many-core-engine-perl/
https://metacpan.org/module/MCE
use MCE; sub proc1 { my $hash_ref = shift; for (keys %{ $hash_ref }) { print $_, ': ', $hash_ref->{$_}, "\n"; } } sub proc2 { my $hash_ref = shift; for (keys %{ $hash_ref }) { print $_, ': ', $hash_ref->{$_}, "\n"; } } my $mce = MCE->new( max_workers => 2, user_func => sub { my ($self) = @_; while (1) { if ($self->wid == 1) { my %hash1 = ( 'key1' => 'value1' ); $self->do('proc1', \%hash1); } else { my %hash2 = ( 'key2' => 'value2' ); $self->do('proc2', \%hash2); } sleep(600); } } ); $mce->run;
In reply to Re: Parallel Processing in Perl
by marioroy
in thread Parallel Processing in Perl
by shree
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |