我有一个使用 python 多处理的程序。我发现在主程序中创建的所有进程都可以完成,但是主程序总是在等待返回值并且不能停止。谁能给我一些关于如何解决这个问题的建议?
代码片段如下:
主程序:
workers = multiprocessing.Pool(4)
args = [arg1, arg2, arg3, arg4]
results = workers.map(subfunc, args)
print "we are in main functions "
子函数(*arg)
# doing some other jobs
result = {.....} # a large dictionary
print 'done with sub functions'
return result # if I change it to "return 1", it can finish successfully
我可以看到在 main 中创建的所有进程的输出“使用子函数完成”,但没有输出“我们在 main 函数中”。有人可以帮我解决问题吗?