多处理启动了太多的Python VM实例

多处理启动了太多的Python VM实例,第1张

多处理启动了太多的Python VM实例

您似乎没有认真遵循文档中的准则,尤其是本节中有关“安全导入模块”的部分。

if __name__ == '__main__':
我相信,您需要使用一个块来保护启动代码,否则您将得到所得到的。

我认为,归结为多处理模块无法像在Linux上那样使用os.fork(),在Linux上,已经在运行的进程基本上是克隆在内存中的。在Windows(没有此类fork())上,它必须运行一个新的Python解释器,并告诉它导入您的主模块,然后在完成后执行start
/ run方法。如果您具有“模块级别”的代码,不受名称检查的保护,那么在导入期间,它将重新开始整个序列,这是无限的。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/5644546.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存