进程:计算机中已运行程序的实体,进程是一个动态的概念,同时进程还是计算机中资源分配的最小单位。
线程:线程是cpu调度的基本单位,一个进程可以拥有多个线程。一个线程只属于一个进程。
在Python中有多个模块可以创建进程,比较常用的有os.fork(),multiprocessing模块和Pool进程池。os.fork()只适用于Unix/linux/MacOs中,在windows不能使用。
使用multiprocessing模块创建进程需要使用到Process类来生成一个进程对象。Process的构造函数如下:
1 | Process([group[,target[,name[,args[,kwargs]]]]]) |
参数说明:
1 | group : 参数未使用,始终未None |
Process类常用的方法:
1 | is_alive() : 判断进程实例是否还在执行 |
Process常用属性:
1 | name: 当前进程的别名 |
示例代码如下:
1 | from multiprocessing import Process |
也可以使用Process子类创建进程,不过要注意的是最好重写一下run函数,可以完成不同的任务,不重写run函数则会调用Process中的默认的run函数。示例代码如下:
1 | rom multiprocessing import Process |
因为没有指定target参数,所以start函数默认会执行run函数