相关疑难解决方法(0)

多处理:如何在多个进程之间共享一个字典?

一个程序,它创建可在可连接队列上工作的多个进程Q,并最终可能操纵全局字典D来存储结果.(因此每个子进程可用于D存储其结果,并查看其他子进程正在生成的结果)

如果我在子进程中打印字典D,我会看到已对其进行的修改(即在D上).但是在主进程加入Q之后,如果我打印D,那就是空的dict!

我知道这是一个同步/锁定问题.有人能告诉我这里发生了什么,以及如何同步访问D?

python multiprocessing

98
推荐指数
4
解决办法
7万
查看次数

如何在多个进程之间共享缓存?

我正在使用LRU缓存来加速一些相当繁重的处理.它运作良好,可以大大加快速度.然而...

当我进行多处理时,每个进程都创建它自己的独立缓存,并且有8个相同的副本.这似乎不是一个问题,直到盒子耗尽内存并且结果发生了不好的事情......

理想情况下,我只需要一个大约300个项目的cachesize为应用程序,1*300将适合我必须使用的7GB,但8*300只是不适合.

如何让所有进程共享相同的缓存?

python multiprocessing

11
推荐指数
1
解决办法
2562
查看次数

标签 统计

multiprocessing ×2

python ×2