python2 中的进程入门讲解

Python 中的进程实现,通过 subprocess/multiprocessing 模块编写。

Python 中的进程

在 Python 中,通过 Python 解释器执行的任何代码,首先本身都是一个进程,比如:

~# python test.py

Python 解释器会自动启动一个进程,并加载 test.py 中的代码执行。

我们这里研究的进程是:如何在这样的过程中,创建另一个附加进程,或者说如何创建“子进程”。也就是想办法“手动”创建一个进程,而不是自动生成。

只有能创建“子进程”了,我们才能手动编些进程来执行额外的代码,而不是Python 自动创建,自动执行,有助于我们合理和灵活的利用多 CPU 的情形。

子进程的启动方法

在 Python 代码中,启动“子进程” 的方法,包括了:

os.system

os.spawnv

os.popen

popen2.popen

commands

python中创建子进程的方法:

os.spawnv

os.popen

在新的 Python 版本中,比如 Python 2.4 以及以上,都可以使用 subprocess 来代替如上旧的使用方法。

总结:

Python 中使用进程,从应用层面讲,简单可以理解为:

执行额外的命令/可执行文件

在主进程中,以子进程 的方式启动 Python 代码

第一种情况,我们在 Python 2.4 之后的版本,通过 subprocess 来完成,并且尽量避免使用旧有的内置函数。

第二种情况,大多使用 multiprocessing 来完成,这对于规避 GIL 的问题,利用多 CPU 有好处,当然如果是个简单程序,或者并不是一个计算密集型,而是 IO 密集型的并发情形,只能选择线程/多线程。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容