擅长:python、mysql、java
<p>Pool classes<a href="http://docs.python.org/library/multiprocessing.html#multiprocessing.pool.multiprocessing.Pool.map" rel="nofollow">map</a>函数类似于标准的python库<code>map</code>函数,您可以保证按照放入结果的顺序返回结果。知道了这一点,唯一的另一个诀窍就是你需要以一致的方式返回结果,然后过滤它们。在</p>
<pre><code>import numpy as np
from multiprocessing import Pool
def myhdf(date):
year = date[0:4]
month = date[4:6]
day = date[6:8]
rootdir = 'data/mydata/'
filename = 'no2track'+year+month+day
records = read_my_hdf(rootdir,filename)
if records.size:
return np.mean(records)
dates = ['20080105','20080106','20080107','20080108','20080109']
pool = Pool(len(dates))
results = pool.map(myhdf,dates)
results = [ result for result in results if result ]
results = np.array(results)
</code></pre>
<p>如果您真的想在结果可用时立即使用<a href="http://docs.python.org/library/multiprocessing.html#multiprocessing.pool.multiprocessing.Pool.imap_unordered" rel="nofollow">imap_unordered</a></p>