在两个Python解释器之间共享内存

时间:2019-06-24 08:46:30

标签: python shared-memory

出于兼容性的原因,我需要两个Python解释器来运行,我的软件与MSYS2一起运行,但是不支持某些库(pythonnet,genicam2),需要直接在Windows上运行。两者都是Python 3.7。

我的软件以这种方式产生子流程:

supbrocess.Popen("<path_to_python> module.py")

对于机器视觉应用,我需要将大数据(从相机获取的图像)从第二个解释器传输到第一个解释器(与MSYS2一起运行)。

我开始在匿名映射中使用mmap,但是我不明白子进程应该如何访问该内存,尽管在documentation中,它看起来很简单:

import mmap
import os

mm = mmap.mmap(-1, 13)
mm.write(b"Hello world!")

pid = os.fork()

if pid == 0:  # In a child process
    mm.seek(0)
    print(mm.readline())

    mm.close()

如果我不使用os.fork,应该如何让我的子子进程访问此共享内存?

编辑:

检查后,os.fork仅在Unix上可用。因此看起来更加复杂。

0 个答案:

没有答案