【问题标题】:Python Multiprocessing - shared memoryPython 多处理 - 共享内存
【发布时间】:2014-02-12 18:14:36
【问题描述】:
  1. 从主进程中,我创建了 3 个子进程,并传递了一个“通用”类的实例...同一个实例被传递给所有 3 个子进程。
  2. 这个通用类有一个字典和一个队列(其中包含很多项)
  3. 这些子进程从此队列中检索“项目”
  4. 对于这些项目,我调用 REST 服务来获取有关“项目”的一些数据
  5. 我将此信息添加到“通用​​”字典中
  6. 没有错误

但是,当我尝试从主进程访问此字典时,它是空的。

【问题讨论】:

标签: python python-2.7 multiprocessing


【解决方案1】:

对于进程间共享状态,最灵活的方式是使用multiprocessing.Manager。您也可以使用例如multiprocessing.Array,但只能包含相同类型的数据。

【讨论】:

    【解决方案2】:

    感谢您的回复。

    我设法解决了这个问题 multiprocessing.Manager().dict()

    这是最好的方法吗....我不完全确定。我想我需要阅读更多关于多处理的内容。

    我觉得具有挑战性的是,多处理模块提供了很多功能,作为初学者,了解用于工作的正确“工具”非常具有挑战性。

    我从线程开始……然后转到进程……然后使用队列……然后使用管理器。但是当我阅读更多关于这个主题的内容时,我发现 Python 可以提供更多的东西。

    【讨论】:

      猜你喜欢
      • 2015-03-15
      • 2013-08-19
      • 2021-12-27
      • 2021-09-13
      • 2021-10-15
      • 2012-12-16
      • 2021-12-27
      • 2021-05-28
      • 1970-01-01
      相关资源
      最近更新 更多