Can you suggest a more inteligent way to prevent the main thread from finishing.

If all you need to do in your main thread is wait until all your other threads have finished, then don't detach them and use join in the main thread.

#! perl -slw use strict; use threads; sub slowProcess { my( $count ) = @_; while( --$count and sleep 1 ) { print threads->self->tid(), " : $count"; } } my @threads = map{ threads->create( \&slowProcess, 1+int rand 10 ) } 1 .. 10; $_->join for @threads;

There is a caveat with this in that if the first thread you created is the last thread to finish, then the resources used by the other 9 thread will not be freed until the first thread completes, because the code will make no attempt to join the other 9 until the first join returns. In this case, that will probably make no difference to you.


Examine what is said, not who speaks.
Silence betokens consent.
Love the truth but pardon error.

In reply to Re^3: Thread detach by BrowserUk
in thread Thread detach by ilanv

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.