Python多处理池,加入;等不及要继续?

Python多处理池,加入;等不及要继续?,第1张

Python多处理池,加入;等不及要继续?

这不是正确的使用方法

map

  1. 这样使用全局变量绝对是错误的。进程共享相同的内存(通常),因此每个进程
    f
    都有自己的副本
    foo
    。要在不同进程之间共享变量,您应该使用
    Manager
  2. 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



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5631919.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存