我不太明白你的要求。您无需执行任何 *** 作即可阻止此 *** 作产生无限多个进程。我只是在Windows XP上运行它—
导入了文件并运行了
multi.start()-–它在几秒钟内就完成了。
必须执行
if__name__=="__main__"保护的原因是,在Windows上,多处理必须导入主脚本才能运行目标函数,这意味着将执行该文件中的顶级模块代码。仅当该顶级模块代码本身尝试生成新进程时,才会出现该问题。在您的示例中,顶级模块代码不使用多重处理,因此没有无限的过程链。
编辑:现在我明白了你的要求。您无需保护
multi.py。您需要保护主脚本,无论它是什么。如果您崩溃了,那是因为在主脚本中您正在执行
multi.start()顶层模块代码。您的脚本应如下所示:
import multiif __name__=="__main__": multi.start()
主 脚本中始终需要“保护” 。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)