我正在阅读Bill Lubanovic撰写的一本Python书籍,我无法理解守护进程部分。当我擦除守护程序时,程序没有结束,但是当我有那一行代码时,程序在到达代码结束时结束。
dryer_proc.daemon = True
到底是什么意思?
我理解守护进程是针对后台进程的,但是没有完全掌握逻辑或什么时候有用。
import multiprocessing as mp
def washer(dishes, output):
for dish in dishes:
print('Washing', dish, 'dish')
output.put(dish)
def dryer(input):
while True:
dish = input.get()
print('Drying', dish, 'dish')
input.task_done()
dish_queue = mp.JoinableQueue()
dryer_proc = mp.Process(target=dryer, args=(dish_queue,))
dryer_proc.daemon = True #this line
dryer_proc.start()
dishes = ['chicken', 'carrot', 'screws', 'salad']
washer(dishes, dish_queue)
dish_queue.join()