NPE*_*NPE 9 python fork numpy shared-memory large-data
我有一个主要的Python进程,以及由主进程使用创建的一堆或工作者os.fork().
我需要将大量且相当复杂的数据结构从工作者传递回主进程.你会推荐哪些现有的图书馆?
数据结构是列表,字典,numpy数组,自定义类(我可以调整)和上面的多层组合的混合.
应避免磁盘I/O. 如果我还可以避免创建数据的副本 - 例如通过使用某种共享内存解决方案 - 这也很好,但不是一个硬约束.
出于此问题的目的,必须使用os.fork()克隆主进程的地址空间或其包装来创建工作程序.
这只需要在Linux上运行.
multiprocessing的队列实现有效。在内部,它将数据腌制到管道中。
q = multiprocessing.Queue()
if (os.fork() == 0):
print(q.get())
else:
q.put(5)
# outputs: 5
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3459 次 |
| 最近记录: |