版权声明:转载请声明 https://blog.csdn.net/dirckes8813/article/details/85156456
进程线程详细介绍看隔壁一篇
1、多任务编程
- 1、意义 :充分利用计算机的多核资源,同时运行多个任务,提高程序执行效率
- 2、实现方法 :多进程、多线程
2、概念
- 1、并发 :同时处理多个任务,内核在任务间不断地切换,达到好像多个任务同时被执行的效果,实际上每一时刻只有1个任务在占有CPU
- 2、并行 :一起执行,多个任务利用计算机的多核资源同时执行,此时多个任务之间是并行关系
- 3、示例 :在计算机系统中,并行和并发是同时存在的
计算机 :2核
任务 :QQ、微信、爱奇艺、英雄联盟、Chrome
并发 :这5个任务间存在着并发关系
并行 :第1核(QQ)、第2核(微信)
3、进程(process)
- 1、进程和程序的定义和区别
- 1、进程 :程序在计算机中的1次运行过程
- 2、程序 :可执行文件,静态的,占用磁盘
- 3、区别 :进程是一个动态过程,占用计算机资源(CPU、内存),有生命周期
程序为1个文件,占用外存储器(磁盘)
主存储器:CPU、内存
外存储器:磁盘
- 2、进程的诞生
- 1、用户通过启动程序,或者调用进程创建接口发起请求
- 2、操作系统接收用户请求,开始创建进程
- 3、操作系统分配计算机资源,确定进程状态,开辟空间等
- 4、把进程提供给用户使用
- 3、进程相关概念
- 1、CPU时间片 :如果1个进程占用CPU,则称这个进程在CPU时间片上,谁获取到了CPU时间片,谁就可以执行,其他进程等待
- 2、PCB(进程控制块) :在内存中开辟的一块空间,存放进程的基本信息,也是操作系统调用进程的重要标志
- 3、进程ID(PID) :系统为每1个进程分配1个不重复的ID号,该进程在系统中的标识
查看进程信息 :ps -aux - 4、父子进程 :系统中每个进程都有唯一的父进程
- 1、查看进程树 :pstree
- 2、示例 :写1个程序,每隔2秒打印一下时间
- 3、1个终端运行程序,在另1个终端执行ps -aux
- 5、进程状态
- 1、三态
就绪态 :具备执行条件,等待系统分配CPU时间片
运行态 :占有了CPU时间片
等待态 :进程暂时阻塞,不具备执行条件 - 2、五态
新建态 :创建新进程获取资源的过程
终止态 :进程结束,释放资源的过程 - 3、查看进程状态 :ps -aux 查看STAT列
STAT列
S :等待态(sleep,可中断等待态,阻塞函数)
D :等待态(不可中断,系统进程)
T :暂停态(后台程序运行,暂停执行,没结束)
R :运行态
Z :僵尸进程 - 4、进程的优先级
- 1、作用 :决定进程的优先权限和占有资源的优先程度
- 2、Linux优先级范围(40级) -20~19,越小越高
默认优先级为0 - 3、查看优先级的命令 :top 查看NI列
指定优先级 :nice -3 python3 01_time.py
nice --3 python3 01_time.py - 5、杀死1个进程
- 1、ps -aux | grep “” 找到进程PID号
- 2、kill -9 PID号
- 1、三态