进程是资源分配的最小单位,一个程序至少有一个进程。
本文主要介绍python中多进程的简单实现,欢迎大家讨论学习!
Python中的多进程是通过multiprocessing包来实现的,和多线程的threading.Thread差不多。
对于多进程的python实现,与多线程类似,但通常多进程占用资源比多线程多,因此一般不会用多进程。
一.直接创建多进程
我们可以使用 Process 类来创建一个进程,创建时需要指定 target 参数为运行的方法名称。
from multiprocessing import Process
def son():
for i in range(1,1001):
print('子进程',i)
if __name__ == '__main__':
pro = Process(target=son)
pro.start()
for i in range(2000,3001):
print('主进程',i)
pro = Process(target=son)表示创建子进程,pro.start()表示子进程为开始工作状态。运行结果如下:
二.继承Process类创建子进程
我们也可以通过继承 Process 类的方式创建一个进程,该进程需要执行的方法写在类的 run 方法里面即可。
据此可改写上述程序。
from multiprocessing import Process
class myprocess(Process):
def run(self):
for i in range(1,1501):
print('子进程',i)
if __name__ == '__main__':
pro = myprocess()
pro.start()
for i in range(2501, 3001):
print('主进程', i)
运行结果如下图,可以看出运行了多进程。