我不明白 Pythonmultiprocessing.Pool
在这种情况下的行为:
import multiprocessing
def f(x): return x
P = multiprocessing.Pool()
def f(x): return x*x
print (P.map(f, range(10)))
print ( map(f, range(10)))
这导致输出:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
在调用打印语句的地方,不是只有一个f
吗?为什么 Pool 会抓取 的第一个实例f
?我希望这一点P.map
并map
输出相同的结果!