Python fork():将数据从子节点传递给父节点

时间:2011-06-03 12:22:10

标签: python numpy fork shared-memory large-data

我有一个主要的Python流程,以及主流程使用os.fork()创建的一堆或工人。

我需要将大量且相当复杂的数据结构从工作者传递回主进程。您会为此推荐哪些现有的图书馆?

数据结构是列表,词典,numpy arrays,自定义类(我可以调整)和上述多层组合的混合。

应避免使用磁盘I / O.如果我还可以避免创建数据的副本 - 例如通过使用某种共享内存解决方案 - 那也不错,但不是一个严格的约束。

出于这个问题的目的,必须使用os.fork()创建工作者,或者使用克隆主进程地址空间的包装器。

这只需要在Linux上运行。

1 个答案:

答案 0 :(得分:1)

q = multiprocessing.Queue() if (os.fork() == 0): print(q.get()) else: q.put(5) # outputs: 5 的队列实施工作正常。

{{1}}
相关问题