这里的官方文档给出了以下示例:
def worker():
while True:
item = q.get()
do_work(item)
q.task_done()
q = Queue()
for i in range(num_worker_threads):
t = Thread(target=worker)
t.daemon = True
t.start()
for item in source():
q.put(item)
q.join() # block until all tasks are done
我想确保在我的主线程继续之前,此时所有线程都被杀死。我想在队列中的所有任务都被处理之后, q.get() 方法会引发一个异常,这应该会杀死线程。那是对的吗?