with Pool for...
p = Pool()
for data in data_list:
result_list = pool.map(compute, data.slices)
analyze(result_list)
p.join()
p.close()
python 2 3.
( ) pathos, from pathos.pools import ProcessPool as Pool , , Pool. , pathos Pool, Pool, , . pool.terminate(), .
>>> from pathos.pools import ProcessPool as Pool
>>> pool = Pool()
>>> data_list = [range(4), range(4,8), range(8,12), range(12,16)]
>>> squared = lambda x:x**2
>>> mean = lambda x: sum(x)/len(x)
>>> for data in data_list:
... result = pool.map(squared, data)
... print mean(result)
...
3
31
91
183
, pathos , for (amap from pathos)... (imap_unordered multiprocessing uimap pathos). . :
https://stackoverflow.com/questions/28203774/how-to-do-hierarchical-parallelism-in-ipython-parallel :
fooobar.com/questions/1622410/...
. pathos python2. ( ) python3.