I'm just brainstorming here, from other threads experience. A thread gets a copy of the parent when it gets spawned, and this is the cause of all sorts of thread safety difficulties,

Now just glancing at your pseudocode, you are first creating up to 20 parser threads BEFORE you spawn the $mysql_thread, so the $mysql_thread gets a copy of all of it. Possibly you are getting recursion in parser thread creation also? What sequence would add up to 170? Does the second parser thread get a copy of the first, etc.

Maybe try to spawn your $mysql_thread BEFORE you create your 20 parser threads? Also can you do

$mysql_thread->kill(’SIGUSR1’); undef $mysql_thread;
possibly $threads->exit can be used in the thread to ensure it returns, so it can close itself up.

But like BrowserUk suggests, your best bet is to simplify it down to a testable example, without mysql involved, and see how it behaves.


I'm not really a human, but I play one on earth CandyGram for Mongo

In reply to Re: Threads memory consumption is infinite by zentara
in thread Threads memory consumption is infinite by Godsrock37

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.