什么';Windows上的os.fork()与Python的等价性是什么?
这段代码在Mac/Linux中运行良好,但在Windows中不起作用 import mmap import os map = mmap.mmap(-1, 13) map.write("Hello world!") pid = os.fork() if pid == 0: # In a child process print 'child' map.seek(0) print map.readline() map.close() else: print 'parent' 导入mmap 导入操作系统 map=mmap.mmap(-1,13) 地图。写下(“你好,世界!”) pid=os.fork() 如果pid==0:#在子进程中 打印“儿童” 地图搜索(0) 打印map.readline() map.close() 其他: 打印“家长”什么';Windows上的os.fork()与Python的等价性是什么?,python,fork,Python,Fork,这段代码在Mac/Linux中运行良好,但在Windows中不起作用 import mmap import os map = mmap.mmap(-1, 13) map.write("Hello world!") pid = os.fork() if pid == 0: # In a child process print 'child' map.seek(0) print map.readline() map.close() else: prin
- Windows上os.fork()的等效函数是什么
fork()
引起的。从这个示例中,您似乎希望在两个Python脚本之间共享数据。让我解释一下我的观点
从Python3.8开始,Windows平台中没有真正的Unix的fork()
实现。为了使上面的示例起作用,子进程必须继承所有环境和打开的文件描述符
我知道Windows现在支持Windows Linux子系统,但上次检查时它仍然没有完全实现fork。Cygwin确实是这样,但速度有点慢
直到现在,我还不知道如何在Windows平台上使用mmap在两个Python脚本之间传递信息。使用
多处理队列
或多处理管道
或多处理.Manager
或多处理
的共享内存(值
和数组
)数组中。然后使用您自己的结构将共享内存映射到结构化数据中,就像您对要映射的文件所做的那样