大家好,最近在使用multiprocessing处理问题,大致代码如下:
def work(i):
#执行代码
print('child success')
pass
def throw_error(e):
raise e
def main():
pool = multiprocessing.Pool(processes=10)
for i in range(0,5000):
pool.apply_async(work, (i,), error_callback=throw_error)
pool.close()
pool.join()
print('success')
pass
这段代码在运行过程中,如果子进程有异常会被主进程捕捉到并抛出异常,整个过程也不会继续运行但也不会结束,需要在命令行ctl+c强制结束。我想问如果让当主进程捕捉到子进程异常,全部进程直接结束,代码部分应该怎么修改?
添加回答
举报
0/150
提交
取消