[英]python multiprocessing on windows, if __name__ == “__main__”
[英]In Python multiprocessing.Process , do we have to use `__name__ == __main__`?
我正在编写一个支持易于使用的API的类,以添加不同的设置以运行给定程序( class.add(args)
)并使用多处理程序对所有设置进行基准测试( class.benchmark(num_processes=5)
)。
从multiprocessing.Process的文档中,似乎所有情况都使用if __name__ == '__main__'
。 跳过使用安全吗?
例如,类方法benchmark(num_processes=5)
启动并加入进程,另一个python文件file.py
创建一个类,只需调用class.benchmark(num_processes=5)
。 它会照常工作吗?
if __name__ == '__main__':
用于指示加载模块时要运行的代码。 基本上,在将其作为脚本运行或作为库导入时都将其加载。 在第一种情况下,通常会编写它,以便所有编写的代码都能执行,因此不必包含它。 但是,当您编写库时,可能会有一些其他人导入时不会运行的代码,例如简短的示例或测试。 因此,在后一种情况下,您肯定要包括它。
为了从上面的评论中回答您的问题,我认为将它包含在类方法中没有意义,因为它是顶级构造,因此始终会加载。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.