使用多处理管理器时共享dict类属性

时间:2012-07-05 08:38:54

标签: python dictionary multiprocessing

我编写了一些代码,旨在通过mutliprocessing和子进程运行一堆Fortran可执行文件。我试图创建一个简化示例,我们'df'调用如下所示。我在Ubuntu 12.04上使用多处理,一切都是2.7 python。

我在类上创建一个字典,用作“队列”和记录保存。也许我应该使用multiprocessing.Queue,但暂时我不是。

第一个版本在这里: http://paste.ubuntu.com/1076049/

如果你运行这段代码,你会看到在调用多处理之后,dicts没有同步....一些谷歌搜索和搜索...然后我学会了多处理。用于共享/同步来自搜索的dicts在这个网站上。

我试着在这里实现它: http://paste.ubuntu.com/1076054/

但现在我收到有关KeyError的错误。这发生在第43行,我尝试在dict中引用我刚刚创建的键(第40行)。这在我上面的第一种方法中没有引起任何错误,但很明显在使用Manager.dict时我错过了一些东西。

我误解了如何使用Manager类吗?

0 个答案:

没有答案