听起来您想用8个工人实现生产者/消费者模式。Python
Queue为此提供了一个类,它是线程安全的。
每个工作人员都应调用
get()队列以检索任务。如果没有可用的任务,此调用将阻塞,从而导致工作人员空闲直到可用。然后,工作人员应执行任务,最后
task_done()在队列上进行调用。
您可以通过调用队列来将任务放入
put()队列。
在主线程中,您可以调用
join()队列以等待所有未完成的任务完成。
这种方法的好处是您无需创建和销毁线程,这很昂贵。工作线程将连续运行,但是当队列中没有任何任务时,将使用零CPU时间进入睡眠状态。
(链接的文档页面上有这种模式的示例。)



