Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

Re: Win32 ActiveState Perl 5.8 - use threads

by zentara (Archbishop)
on Jan 03, 2005 at 14:40 UTC ( #418959=note: print w/replies, xml ) Need Help??

in reply to Win32 ActiveState Perl 5.8 - use threads

Just a simple idea for you...can you put a shared variable in each thread called $im_alive, and set it to 1 when the thread is launched, and have the thread set it to 0 just before it exits. Of course that requires you to track each thread (and it's associated shared variable) in a hash if you have more than one thread going. There also may be timing problems in checking the shared:var, you may need to allow time for the thread to initiate before checking it. I avoided this by setting the shared var to 1 outside of the thread.
#!/usr/bin/perl use warnings; use strict; use threads; use threads::shared; my $im_alive : shared = 1; my $thread = async {sleep 10; print "Ok\n"; $im_alive = 0; }; my $i = 0; while (1) { $i++; print "$i - $thread\n"; print "im_alive->$im_alive\n"; if ($im_alive == 0) {last}; sleep 1; }; print "im_alive->$im_alive\n"; print "hit enter to exit\n"; <>;

I'm not really a human, but I play one on earth. flash japh

Log In?

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

How do I use this?Last hourOther CB clients
Other Users?
Others exploiting the Monastery: (3)
As of 2023-12-04 15:20 GMT
Find Nodes?
    Voting Booth?
    What's your preferred 'use VERSION' for new CPAN modules in 2023?

    Results (25 votes). Check out past polls.