目标:
1:掌握使用multiprocessing模块内的Process()类创建进程对象
2:掌握使用 multiprocessing.Process()的target方法为进程指定函数任务
一:创建子进程
语法:
1:导入模块import multiprocessing
2:创建进程对象 process_obj = multiprocessing.Process(target = 函数任务名无括号)
3:启动进程process_obj . start( )
创建的子进程对象的参数作用:
target:为子进程传递任务函数
args:给任务函数传参(元组形式)
kwargs:给认为函数传参(字典形式)
name:为创建的子进程命名,也可以不命名
group:为创建的子进程指定组,大多数用不到
Process类创建的子进程方法及功能:
创建的子进程对象.start():启动子进程
创建的子进程对象.is_alive():判断子进程是否还活着
创建的子进程对象.join():是否等待其他子进程执行完毕再执行
创建的子进程对象.terminate():不管任务是否完成立刻结束子进程
Process类创建的子进程属性:pid:当前进程的pid号(进程号)
注意事项:
1:进程与线程是受操作系统调配的,因此不同的操作系统执行的结果可能会不同
2:程序启动会建立一个主进程,主进程内又包含了主线程,因此一个程序启动就会建立一个主线程
3:target方法指定的函数任务没有括号!
4:创建子进程的方法和创建子线程的方法类似
快速代码体验
截图感悟:从代码打印结果上来看,主线程和子进程是同时运行的!