Ich versuche zu lernen, wie man multiprocessing verwendet, und gefunden the following example.multiprocessing.Pool Beispiel
Ich möchte Werte summieren wie folgt:
from multiprocessing import Pool
from time import time
N = 10
K = 50
w = 0
def CostlyFunction(z):
r = 0
for k in xrange(1, K+2):
r += z ** (1/k**1.5)
print r
w += r
return r
currtime = time()
po = Pool()
for i in xrange(N):
po.apply_async(CostlyFunction,(i,))
po.close()
po.join()
print w
print '2: parallel: time elapsed:', time() - currtime
Ich kann nicht die Summe aller r-Werte erhalten.
Wenn Sie 'pool.imap' oder' pool.imap_unordered' verwenden, können Sie direkt in die Summe einfügen: 'sum (pool.imap_undeured (CostlyFunction, ((i,) für i in xrange (N)))) '. –