in reply to Re: Is returning a list broken when using threads?
in thread Is returning a list broken when using threads?
Riiiiight, so this example from perlthrtut is rather misleading then:
Thanks!Waiting For A Thread To Exit Since threads are also subroutines, they can return values. To wait for a thread to exit and extract any values it might return, you can use the join() method: use threads; $thr = threads->new(\&sub1); @ReturnData = $thr->join; print "Thread returned @ReturnData"; sub sub1 { return "Fifty-six", "foo", 2; } In the example above, the join() method returns as soon as the thread ends. In addition to waiting for a thread to finish and gathering up any values that the thread might have returned, join() also performs any OS cleanup necessary for the thread. That cleanup might be impor- tant, especially for long-running programs that spawn lots of threads. If you don't want the return values and don't want to wait for the thread to finish, you should call the detach() method instead, as described next.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^3: Is returning a list broken when using threads?
by BrowserUk (Patriarch) on Jul 25, 2004 at 03:43 UTC | |
Re^3: Is returning a list broken when using threads?
by tilly (Archbishop) on Jul 25, 2004 at 04:59 UTC | |
by CountZero (Bishop) on Jul 25, 2004 at 16:24 UTC | |
by chromatic (Archbishop) on Jul 25, 2004 at 20:23 UTC | |
by Errto (Vicar) on Jul 25, 2004 at 20:18 UTC |
In Section
Seekers of Perl Wisdom