【发布时间】:2014-06-19 11:35:04
【问题描述】:
我的问题是如果我执行[pool.apply_async(myfunc, args=(y,)) for i in range(8)] 如下所示,并且我使用多个进程初始化Pool,例如这里4,
这是否意味着每个函数调用都在 4 个进程上并行运行,而我也在并行运行 8 个函数调用,所以 4x8 = 32 个进程,还是它运行 4 次 1 函数调用,等到它们完成然后运行另一个4 个函数调用?
import multiprocessing
pool = multiprocessing.Pool(processes=4)
results = [pool.apply_async(myfunc, args=(i,)) for i in range(8)]
results = [res.get() for res in results]
【问题讨论】: