Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个主 Python 进程,以及由主进程使用os.fork().
os.fork()
我需要将大量且相当复杂的数据结构从工作人员传回主进程。您会为此推荐哪些现有库?
数据结构是列表、字典、numpy数组、自定义类(我可以调整)和上述多层组合的混合。
numpy
应避免磁盘 I/O。如果我也可以避免创建数据的副本——例如通过某种共享内存解决方案——那也很好,但不是硬约束。
出于这个问题的目的,必须使用os.fork()或其包装器创建工作程序,该包装器将克隆主进程的地址空间。
这只需要在 Linux 上工作。
multiprocessing的队列实现有效。在内部,它将数据腌制到管道中。
multiprocessing
q = multiprocessing.Queue() if (os.fork() == 0): print(q.get()) else: q.put(5) # outputs: 5