マルチプロセスワーカープールのほとんどの例は、異なるプロセスで単一の機能を実行します。異なる機能を持つマルチプロセスプール
def foo(args):
pass
if __name__ == '__main__':
pool = multiprocessing.Pool(processes=30)
res=pool.map_async(foo,args)
プール内に2つの異なる独立した機能を処理する方法はありますか?あなたがf.eを割り当てることができるように。 foo()のための15のプロセスとbar()のための15のプロセスか、あるいは単一の関数に束縛されたプールですか?または、異なる機能を手動で異なるプロセスで作成する必要があります。
p = Process(target=foo, args=(whatever,))
q = Process(target=bar, args=(whatever,))
q.start()
p.start()
ワーカープールについては忘れてしまいますか?
を、それらが「行の」並列実行したりするのだろうか? – dorvak
'map_async'はすぐに戻ります。プールに十分な空きプロセスがあれば、待たずに新しいタスクが実行されます。上記の例では、それらは並行して実行されます。 @mad_scientist –
Thx!しかし、特定の量のワーカー/プロセスを割り当てる方法はありません。 – dorvak