擅长:python、mysql、java
<p>使用信号量;让工作线程在完成时释放它,并阻止附加线程,直到工作线程完成信号量。</p>
<p>也就是说,在工作者中,在工作开始时做一些类似于<code>self.done = threading.Semaphore()</code>的事情,在工作结束时做一些类似于<code>self.done.release()</code>的事情。在上面提到的代码中,不要使用busy循环,只需执行<code>self.done.acquire()</code>;当工作线程完成时,控件将返回。</p>
<p>编辑:恐怕我没有说明您需要的超时值;这个<a href="http://bugs.python.org/issue850728" rel="nofollow noreferrer">issue</a>描述了在标准库中需要信号量超时。</p>