Python 子进程为什么加 if __name__ == 'main'

2025-10-28 05:47:58

1、python每次创建子进程都会先把主进程中的代码当成模块加载一遍

2、创建一次子进程就相当于执行一次主进程,创建两个相当于执行两次子进程,

所以下面的代码有3个bar

Python 子进程为什么加 if __name__ == 'main'

3、所以要把进程写到 if __name__下面,模块加载的时候不会执行if __name__下面的代码,如果不写到下面,当模块加载的时候在创建子进程,在加载在创建会陷入死循环

4、在linux下面代码不会报错

linux内部调用的是fork命令来产生的子进程,它产生的特点是主进程有什么子进程就有什么,创建进程会完全复制主进程

linux下每一个进程都有父子关系,每个进程都能找到父进程直到根进程

Python 子进程为什么加 if __name__ == 'main'

5、windows下面的代码会报错

windows 创建的子进程是完全的独立的空间

Python 子进程为什么加 if __name__ == 'main'

6、windows如果不想报错可以把数据传参传过去

Python 子进程为什么加 if __name__ == 'main'

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢