2014-02-12 115 views
0
  1. 从主进程中,我创建了3个子进程,并且传递了一个'common'类的实例...将同一个实例传递给了所有3个子进程。
  2. 这个共同的类有一本字典和队列(其中含有大量的项目)
  3. 这些子进程检索该队列
  4. “项目”对于这些项目,我称之为REST服务来获取一些数据在“项目”
  5. 我这个信息添加到“通用​​”字典
  6. 没有错误

然而,当我尝试访问从主过程本词典,其空。Python多处理 - 共享内存

+0

你能粘贴代码吗? –

+0

我认为这个问题在变量 –

+0

的实例化的地方是可以预料的。请参阅[Python:可能在两个独立进程之间共享内存数据](http://stackoverflow.com/q/1268252/4279) – jfs

回答

0

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

0

感谢您的回复。

我设法解决使用 multiprocessing.Manager问题()。字典()

这是最好的方式....我不能完全肯定。我想我需要阅读更多关于多处理。

我认为具有挑战性的事实是,多处理模块提供了许多功能,并且作为初学者,知道用于工作的正确“工具”非常具有挑战性。

我开始使用线程...然后移动到进程....然后使用队列....然后使用管理器。但是当我阅读了更多关于这个主题的文章后,我发现Python还有很多东西可以提供。