这不是正确的使用方法
map。
- 这样使用全局变量绝对是错误的。进程不共享相同的内存(通常),因此每个进程
f
都有自己的副本foo
。要在不同进程之间共享变量,您应该使用Manager
map
通常,传递给的函数应返回一个值。
我建议您阅读一些文档。
但是,这是一个如何实现它的虚拟示例:
from multiprocessing import Poolfoo = {1: []}def f(x): return xdef main(): pool = Pool() foo[1] = pool.map(f, range(100)) pool.close() pool.join() print fooif __name__ == '__main__': main()您可能还会做类似“
pool.map(functools.partial(f, foo),range(100))哪里
foo是”的操作
Manager。



