进程是计算机实现多任务的一种方式。
我们使用的QQ,WORD都是一个进程,而QQ和WORD能够同时使用也是多任务的体现。
在Python 中实现多进程的方式有以下几种。
fork()
fork()由于其本身的局限性,只能在 linux 平台使用,无法跨平台。这里就不介绍了。
Process
在 multiprocessing 模块中 有Process类也可以帮助我们实现多进程。



在创建进程的时候需要将进程执行的任务函数,以target参数参入,需要的参数以args传入。另外可以传入进程名字,进程号之类的内容,但是都不是必须的,常用的就是目标函数名和目标函数需要的参数。注意目标函数需要的参数要以元组的形式传入。
Process子类
我们创建一个新的类去继承Process类。

继承Process类的子类需要定义一个run()方法,该方法中定义了进程的操作。实例化对象之后只需要调用start()方法,就会执行run()方法中的关于进程的操作。
进程池
这是最简单的创建进程的方式,也是推荐的方式。

堵塞方式创建进程,这样的方式创建的子进程按顺序依次执行。

进程通信
在多进程任务执行的时候,进程之间由于数据需要共享,所以就需要进程之间能够进行有效的通信,所谓通信其实进程之间交换数据的一种方式而已。Python中的multiprocessing模块提供了Queue、Pipes等多种方式来交换数据。我们以Queue为例进行介绍。
以Process方式创建进程:

以Pool方式创建进程:

好了,大概就是这样。
Then,that’s all,thank you。
网友评论