我想了解Python多处理模块。下面的代码创建4个进程并尝试运行功能f(x)
。Python多处理得到结果
问题
- 我创建4个过程,但提交多个任务(F,[10])。模块会在任何时候自动运行每4个进程吗?
- 我将结果捕获到列表中。
pool.apply_async
将会返回什么结果,它会是作业中的打印语句还是方法返回的内容?
当我执行此代码时,它只显示100,但不显示其他值。
from multiprocessing import Pool
def f(x):
print x*x
return x*x
if __name__ == '__main__':
result = []
pool = Pool(processes=4)
result.append(pool.apply_async(f, [10]))
out = map(lambda x: x.get(), result)
所有的问题都在文档中得到解答:https://docs.python.org/2/library/multiprocessing.html – Wolph 2014-10-31 15:24:56