Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re^3: Threads memory consumption

by zwon (Abbot)
on Dec 05, 2013 at 15:36 UTC ( [id://1065776]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Threads memory consumption
in thread Threads memory consumption

It is possible to pass result to parent process, and is quite easy. You can use Parallel::ForkManager for example:
use 5.010; use strict; use warnings; use Parallel::ForkManager; use Data::Printer; my $pm = Parallel::ForkManager->new(2); $pm->run_on_finish( sub { # result from the child will be passed as 6th arg to callback my $res = $_[5]; p $res; } ); for (1..3) { $pm->start and next; # from here and till $pm->finish child process running # do something useful and store result in $res my $res = { aaa => $_ }; # this will terminate child and pass $res to parent process $pm->finish(0, $res); } $pm->wait_all_children;

Replies are listed 'Best First'.
Re^4: Threads memory consumption
by mojo2405 (Acolyte) on Dec 06, 2013 at 12:16 UTC
    Thanks alot ! used this method - and everything works for me great now. I have a question about this method - Can I have some shared data between the child forks ?
      Yes you can, see IPC::Shareable and IPC::ShareLite, but I don't recommend you to use these -- refactor your program so it wouldn't require shared variables, or use some message passing module instead.
        Can you recommend on a message passing module I can use ?
        Hey, Do you know if I can share a hash ? or even an object ? I want to share and lock an object that exist inside a hash - if accessed.. Thanks

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1065776]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (6)
As of 2024-04-19 15:20 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found