python进阶--多进程与多线程概念
Posted jyf上善若水
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python进阶--多进程与多线程概念相关的知识,希望对你有一定的参考价值。
一、多任务介绍
1、概念:同一时间执行多个任务。
2、作用:充分利用CPU资源,提高程序的执行效率。
3、表现形式:并发和并行
并发:交替执行多个任务(如:单核CPU);
并行:同时执行多个任务(如:多核CPU,任务数量<=CPU的核心数);
二、使用多进程执行多任务
1、进程介绍
进程是资源分配的最小单元,它是操作系统进行资源分配和调度运行的基本单位。通俗的可以理解为一个正在运行的程序就是一个进程。
2、执行多任务操作流程
step1、导入进程包:import multiprocessing
step2、通过进程类来创建进程对象:process_object = multiprocessing.Proces(target=任务名)
其中,执行的目标任务名指的是待运行的函数名(或方法名)
step3、启动进程执行任务:process_object.start()
3、进程执行带有参数的任务
在创建进程对象时,可以通过args或者kwargs进行参数的传递。
参数名 | 说明 | 注意点 |
args | 以元组的方式给执行任务传参 | 传参一定要和方法中参数的顺序保持一致 |
kwargs | 以字典的方式给执行任务传参 | 字典中key一定要和方法中参数名保持一致 |
4、主进程和子进程的结束顺序
默认情况下,主进程会等待所有的子进程执行借宿后再结束
5、获取进程的编号以及相关注意点
os.getpid():获取当前进程号
os.getppid():获取当前进程的父进程号
三、使用多线程执行多任务
1、线程介绍
2、执行多任务操作流程
3、线程执行带有参数的任务
4、主线程和子线程的结束顺序
5、线程之间的执行顺序
四、线程和进程对比
以上是关于python进阶--多进程与多线程概念的主要内容,如果未能解决你的问题,请参考以下文章