私はPythonでマルチプロセッシングライブラリを使用して、複数のコアに機能を分散しています。これを行うには "プール"機能を使用しますが、各プロセッサがいつ作業を完了したかを知りたいと思います。Pythonで "プール"を使用してプロセッサごとにプロセス時間の終了を取得する方法は?
def parallel(m,G):
D=0
for i in xrange(G):
D+=random()
return 1*(D<1)
pool=Pool()
TOTAL=0
for i in xrange(10):
TOTAL += sum(pool.map(partial(parallel,G=2),xrange(100)))
print TOTAL
が、私は通常の状況でtime.time()を使用する方法を知っているが、私は必要なのは、各コアが仕事の一部で完了したときに知っている:ここでは
はコードです。関数にタイムスタンプを直接入れると、処理されるコアを知らなくても多くの時間値が得られます。アドバイスをよろしくお願いいたします。
サブプロセスが 'によって作成されたので、私は、あなたの質問には答えを持っているかわかりませんプールが閉じられる(またはメインプロセスがシャットダウンする)まで、プールはシャットダウンしません。私は、サブプロセスのシャットダウンコードにフックする公開された機能はないと思います。その情報が必要ですか? – Blckknght
ああ、私は参照してください、しかし、仕事を配布し、time.time()を処理する別の方法があります。私はPythonの初心者であり、高度な機能についてはわかりません。どんな助けも歓迎です。 – supermario
投稿の名前を「Pythonで "pool"を使ってプロセッサごとに処理する方法を教えてください。少なくともそれは私が私の記事で答えていた質問だった。 – robyschek