问题
在一个多进程任务中出现所有任务执行完毕但是主进程不结束的问题,程序死锁
from multiprocessing import Pool
def func(args):
try:
print(args1)
except:
print('出现错误,退出进程')
exit()
if __name__ == '__main__':
args=[1,2,3,4,5,6,7]
pool = Pool(8)
results = pool.map(func, args)
pool.close()
pool.join()
# 以下程序无法执行,无法打印出已完成
print('完成')
经过百度等各种方式调试发现是由于exit()的问题导致,去掉就能正常打印 ‘完成’,有没有大佬告诉我这是为什么,感谢