python多处理的奇怪行为

时间:2016-09-30 00:19:31

标签: python multiprocessing

当我的代码出错时,我希望我的流程退出,但我有一些奇怪的行为,我不知道如何解决。

此代码错误输出并按预期关闭进程:

from multiprocessing import Queue, Pool

def worker(queue):
    raise error

task_queue = Queue(10)

the_pool = Pool(1, worker, (task_queue,))

但是这一个旋转了无数的新进程,这些进程都出错了(但是后续进行了新进程):

from multiprocessing import Queue, Pool

def worker(queue):
    raise error

task_queue = Queue(10)

the_pool = Pool(1, worker, (task_queue,))

while True: # <-- added this
    pass

如何才能有效地阻止第二次分拆无限的新流程?

0 个答案:

没有答案