【发布时间】:2016-08-24 11:37:10
【问题描述】:
所以我试图在 python 中实现多处理,我希望有一个由 4-5 个进程组成的池并行运行一个方法。这样做的目的是运行一千次 Monte 模拟(每个进程 250-200 次模拟),而不是运行 1000 次。我希望每个进程在完成处理后立即通过获取锁定来写入公共共享数组一个模拟的结果,写入结果并释放锁。所以这应该是一个三步过程:
- 获取锁
- 写入结果
- 为等待写入数组的其他进程释放锁。
每次我将数组传递给进程时,每个进程都会创建一个我不想要的该数组的副本,因为我想要一个公共数组。任何人都可以通过提供示例代码来帮助我吗?
【问题讨论】:
-
如果你搜索一些答案,你有大量的示例代码。因此,如果您不提供您的一些,我们将无法为您提供帮助。顺便说一句,使用semaphores 锁定线程
-
官方文档中examples有什么不清楚的地方?
-
您是否需要在模拟进行时访问阵列?如果没有,您可以使用
Pool.map函数集。
标签: python multiprocessing shared