首页 > 电脑

Python的Process问题

更新时间2019-04-28 10:23:26

1处:

from multiprocessing import Process

我们都知道,from ... import ...  要么是从模块中导入类或变量等  要么就是从包中导入模块

2处使用了Process类,说明1处是从模块中导入的一个类

那么问题来了,

打开PythonHome中的lib,发现multiprocessing 是一个包而不是模块,multiprocessing 下只有process.py

文件, 没有Process.py文件

所以我的问题是:

1. 这里的Process是哪里来的?他是类, 但是他是哪个文件的类?

2. 为什么3处必须要用if "__name__" == "__main__":  不然运行就报错, 我并没有把这个文件作为模块给别的文件用啊   我是直接运行的这个文件?

由于GIL的存在,python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分况需要使用多进程。
Python提供了非常好用的多进程包multiprocessing,只需要定义一个函数,Python会完成其他所有事。借助这个包,可以轻松完成从单进程到并发执行的转换。
multiprocessing支持子进程、通信和共享数据、执行不同形式的同步,提供了Process、Queue、Pipe、Lock等组件。

上一篇:在Geany文本编辑器中如何返回上一步

下一篇:混合布局实现城市智慧化主要是指将生活区和什么混合布局