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

2025-04-25 19:42:48

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。
猜你喜欢