在子进程(标记为守护程序)上调用join方法时,父进程是否要等到多处理队列中的所有项目都被处理完。
q = Queue()
p = Process(target=foo, args=(q,))
p.daemon = True
p.start()
p.join()
p.terminate()
目标函数看起来像这样
def foo(queue):
while True:
item = queue.get() # will this create deadlock?
if item.action == 'process':
save_to_db()
elif item.action == 'stop':
save_to_db()
break