如何在Windows上实现Python多处理?

13 python multithreading fork

鉴于没有Windows fork()调用,如何在Windows下实现Python 2.6中的多处理包?在Win32线程或某种假叉子之上还是只在现有多线程之上兼容?

Ada*_*dam 30

它是使用对sys.executable的子进程调用(即启动一个新的Python进程),然后序列化所有全局变量并通过管道发送它们来完成的.一个穷人正在克隆当前的过程.这是在Windows平台上使用多处理时发现的额外限制的原因.

您可能也有兴趣查看Jesse Noller关于多处理的PyCon谈话,并讨论了它的用法.

  • 亚当是正确的(我是杰西) - 这很不幸,但win32上的所有分支"实现"都是可怕的黑客.因此我们坚持使用子进程和序列化 (4认同)