今天学习了多进程,所以来给大家分享一下经验。
首先在Python上面创建多进程,第一步就是导入一个python里面内置的一个包。
说一下,python里面有很多非常好用的包。multiprocessing就是一个包,借助这个包,可以轻松完成从单进程到并发执行的转换。这个包是一开始学习的,会经常用到。而且这个包还是跨平台的。
multiprocessing模块提供了一个Process类来代表一个进程对象
下面分享一个例子:
from multiprocessing import Process
import os
# 子进程要执行的代码
def run_proc(name):
print('Run child process %s (%s)...' % (name, os.getpid()))
if __name__=='__main__':
print('Parent process %s.' % os.getpid())
p = Process(target=run_proc, args=('test',))
print('Child process will start.')
p.start()
p.join()
print('Child process end.')
然后说一下多进程里面我觉得比较重要的一个语法:就是这个if __name__==”__main__“
它的作用就是就是控制着两种情况执行代码的过程,_name_是内置变量,用于表示当前模块的名字。 在win上,子进程会自动 import 启动它的这个文件,而在import的时候会执行这些语句。 如果不加if_name_==”_main_”的话就会无限递归创建子进程
所以必须把创建子进程的部分用if判断保护起来
import 的时候 _name_不是_main_,就不会递归运行
所以我觉得这个语法比较重要,多进程刚开始学习会有蒙,只要继续学习下去,思路就会慢慢清晰。
接下来说一下这个函数porcess:
Process(target,name,args) Process是构造函数
参数介绍
— target表示调用对象,即子进程要执行的任务
–args表示调用对象的位置参数元组,args=(1,)
–name为子进程取名
多进程里面的函数很多,今天就分享到这里。