You are a man of few words!

You said it was different than fork(), which meant you knew how fork() worked. I pointed out that it isn't different than fork().

Is that about right?

Up until the last sentence, only minor errors or clarifications need to be made:

When I do '$pm->start and next', it forks a child which takes the first argument of the @command arraygets a copy of the current process's memory space including $command and starts executing. At the same time, without waiting for the 1st child to finish, itthe parent forks another child that processes the 2nd argument of the array and so on, until 20 children are running in parallel. If 20 children already running, but there are still unprocessed elements in the array, it would wait until a child would finish and forkbefore forking another child.

But then you followed with:

The array is processed by children only, the parent doesn't go through the array.

It might depend on what you mean by "processed" and "go through", but that sounds completely backwards.

You just described how the parent forks a child for each array element and how each child processes only one element of the array.

Code executed in parent:

for my $command (@commands) { $manager->start and next; }

Code executed in child:

0 and next; exec( $command ); $manager->finish;

Note the lack of array in the code executed by the child?


In reply to Re^5: help with Parallel:ForkManager by ikegami
in thread help with Parallel:ForkManager by arthurs

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.