Python マルチプロセッシングを使用するプログラムがあります。メインプログラムで作成されたすべてのプロセスを終了できることがわかりましたが、メインプログラムは常に戻り値を待っていて停止できません。この問題を解決する方法について誰か提案してもらえますか?
コード スニペットは次のとおりです。
メインプログラム:
workers = multiprocessing.Pool(4)
args = [arg1, arg2, arg3, arg4]
results = workers.map(subfunc, args)
print "we are in main functions "
subfunc(*引数)
# 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
メインで作成されたすべてのプロセスの「サブ関数で完了」という出力が表示されますが、「メイン関数にいる」という出力はありません。誰でも私が問題を理解するのを手伝ってくれますか?