关于 if __name__ == '__main__' 的疑问
Topic source找到答案了,因为子进程会在运行时拷贝当前主进程中的所有内容,这也就意味着当一个新的子进程被创建的时候,该子进程就会复制当前模块,所以如果没有 if name == 'main': 就会不断创建新的子进程,形成死循环,查看报错日志, Parent process 2752 Parent process 3916 在控制台看到了两句父进程ID输出,与预期的结果不符 所以加上if条件是为了避免死循环
- 1
找到答案了,因为子进程会在运行时拷贝当前主进程中的所有内容,这也就意味着当一个新的子进程被创建的时候,该子进程就会复制当前模块,所以如果没有 if name == 'main': 就会不断创建新的子进程,形成死循环,查看报错日志, Parent process 2752 Parent process 3916 在控制台看到了两句父进程ID输出,与预期的结果不符 所以加上if条件是为了避免死循环
苏生不语_
这样执行代码会报错,但是我直接执行本程序,if 条件不是成立的吗,那加不加 if 有什么区别?