python 受到本身的GIL(Global Interpreter Lock)的影响,单进程无法充分利用多核CPU的计算资源,这是一个性能上非常浪费的事情,但是Python并没有就不能使用多核CPU的计算资源,可以使用多进程的方式来弥补GIL的问题,虽然GIL限制了单进程使用多核,但是它的存在使得单线程的情况更快,关于GIL可以看看CPython官网的wiki解释。本文对Python的多进程的使用给出简单的使用例子
Python得多进程库multiprocessing – 1
使用Process创建进程
Process 是创建进程的类,它不仅可以在父进程中创建子进程,还可以在子进程中继续创建进程(孙子进程),可以通过对deamon的设置将父进程作为守护进程。下面给出使用例子:
1 | import os |
使用主进程管理子进程的状态
只要主进程存活,自动拉起子进程,如果通过kill 杀掉父进程,会直接让子进程归为pid为1的根进程
1 | import os |
本文先给出基本Python multiprocessing 的process的例子,后面的文章将会给出多进程通信的例子