the join() method, which is the threads equivalent of wait. There is no equivalent of waitpid. (More's the pity.)
That's backwards. join waits for a specific thread to end, just like waitpid($pid) waits for a specific process to end, and waitpid($pid, WNOHANG) is available as is_joinable. What's missing is the ability to wait for any thread to end (the equivalent of wait and waitpid(-1)).
wait could be emulated as follows:
use Time::HiRes qw( sleep ); sub wait_threads { for (;;) { my @joinable = threads->list(threads::joinable); if (@joinable) { return shift(@joinable)->join(); } sleep(0.010); } }
In reply to Re^2: Threads question
by ikegami
in thread Threads question
by xiaoyafeng
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |