在没有Windows fork() 调用的情况下,Python 2.6 中的multiprocessing 包在Windows 下是如何实现的?在 Win32 线程之上或某种伪造的 fork 之上,或者只是在现有多线程之上的兼容性?
最佳答案
这是使用对 sys.executable 的子进程调用(即启动一个新的 Python 进程),然后序列化所有全局变量,并通过管道发送它们来完成的。当前进程的一个可怜人的克隆。这是 extra restrictions 的原因在 Windows 平台上使用多处理时发现。
您可能也有兴趣查看 Jesse Noller's talk from PyCon关于多重处理,他在其中讨论了它的使用。
关于python - Python Multiprocessing 如何在 Windows 上实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/765129/