了解守护进程的逻辑和用法

时间:2018-06-02 12:11:15

标签: python python-3.x multiprocessing daemon

我正在阅读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()

0 个答案:

没有答案