1
は私がmulitiprocessing作るための簡単な方法を使用しよう:この場合、Pythonでのマルチプロセッシングの使い方は?
urls = [1, 2, 3, 4]
p = Pool(2)
p.map(open, urls)
open()
は、計算を行う関数です。
def open(url):
print(url)
私はprint(url)
を行うと、それは私に奇妙な結果を返します:私は同じ計算をハンドラ・Pool(2)
プロセスのそれぞれが間違っていると仮定することができます
1
2
3
4
1
2
3
4
を。私は、プロセス1は、取扱い及びプロセス2のため[1, 2]
を取ることを必要とする
は、私は、これはあなたがしたい何をすべきだと思う[3, 4]
あなたがチェックすることができこれはhttp://stackoverflow.com/questions/26520781/multiprocessing-pool-whats-the-difference-between-map-async-and-imapです。たぶん 'map'はあなたにとって同期がとれていないかもしれません。 –
関数名として 'open'を使わないでください。これは組み込み関数です。また、あなたはWindowsでですか? – roganjosh
このスレッドをチェックしてください:http://stackoverflow.com/questions/5442910/python-multiprocessing-pool-map-for-multiple-arguments – Peter234