这是我第一次尝试在Python中使用多处理。我试图按行在我的数据框fun
上并行化我的函数df
。回调函数只是将结果附加到我稍后将要排序的空列表中。
这是使用apply_async
的正确方法吗?非常感谢。
import multiprocessing as mp
function_results = []
async_results = []
p = mp.Pool() # by default should use number of processors
for row in df.iterrows():
r = p.apply_async(fun, (row,), callback=function_results.extend)
async_results.append(r)
for r in async_results:
r.wait()
p.close()
p.join()