Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Re: Threading in a loop

by choroba (Canon)
on Apr 22, 2013 at 13:47 UTC ( #1029875=note: print w/ replies, xml ) Need Help??

in reply to Threading in a loop

If you want the thread to print the value more times, you have to include a loop in the thread. As written, the thread is started, it prints the value and ends.

لսႽ ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ

Comment on Re: Threading in a loop
Replies are listed 'Best First'.
Re^2: Threading in a loop
by jerre_111 (Sexton) on Apr 22, 2013 at 13:56 UTC

    Yes, does the trick. So basicly, you have to restart the thread every time?


      Your program finishes too fast. Try this:

      use threads; use threads::shared; my $test :shared; $test = 0; testing_thread(); sub testing_thread { my $thr1 = threads->create(\&progress_count, $test); while ($test <= 1000000) { $test += 1; } $thr1->join(); } sub progress_count { while( $test < 1000000 ) { print $test, " \n"; } }

        I'm sorry to say, but your code is not quite right.

        When you do it like that, the printing and counting of the variable won't run parallel. Resulting in seeing only fragments of the counting

        But thanks for the effort!

      I think a better way to put it is that you are going to create or spawn a new thread (not restart the thread).

      You would have to think some more about how to print every time the shared variable changes value.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (4)
As of 2015-11-28 18:14 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (743 votes), past polls