多线程和多处理是否有这个工作?if __name__=="__main__"
? ?
__name__
是一个全局变量,它被自动初始化为指向一个字符串——或者指向出现__name__
的模块的名称,或者指向出现在脚本或顶级程序中的特殊值"__main__"
。
此模式在许多Python源文件中使用:
if __name__ == "__main__":
# test or demo the module
...
如果您将源文件作为脚本运行,则运行测试/演示代码,如果源文件作为import
模块运行,则不运行测试/演示代码。
导入multiprocessing
或threading
不会改变if __name__ == "__main__"
的功能,if __name__ == "__main__"
不会改变multiprocessing
或threading
的功能。这些模块在这方面与任何其他Python模块(例如,math
,或time
,或sys
)没有什么不同