I see that your original problem has been resolved, but will still comment on a misunderstanding you appear to have about threading.

When I say that join is blocking, it blocks only the thread that is calling the join. Because threads are run in parallel and are essentially independent of each other, calling join in one thread has no effect on the processing of any other threads. In fact, because join is blocking, it is preferable for the parent thread to call join on at least one sub-thread as soon as possible, to minimise the resources the parent thread is consuming (and hence making those additional resources available for the sub threads).

The main point about writing code more concisely is that it makes your program easier to understand and follow. Doing something in 40 lines that can be easily written and understood in 2 lines makes life a lot harder for anyone trying to understand what you're doing. (Do keep in mind the distinction between minimising code and obfuscating code).


In reply to Re^3: capturing output of system call inside a thread by SimonPratt
in thread capturing output of system call inside a thread by that_guy

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.