美文网首页
python2 中的进程入门讲解

python2 中的进程入门讲解

作者: 和尚我不念经 | 来源:发表于2017-11-13 09:53 被阅读0次

    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 密集型的并发情形,只能选择线程/多线程。

    相关文章

      网友评论

          本文标题:python2 中的进程入门讲解

          本文链接:https://www.haomeiwen.com/subject/wnmamxtx.html