并发编程理论
# 操作系统发展史 1.穿孔卡片 cpu利用率非常低,好处是程序员能为所欲为 2.联机批处理系统 缩短录入数据的时间,使cpu工作时间变长,提高cpu利用率 3.脱机批处理系统 再次提高cpu的利用率,是现代计算机的雏形 操作系统的发展史也可以看成是cpu利用率提升的发展史
多道技术
# 多道技术的前提是在单核cpu的基础上的 单道技术 所有程序按序排队,耗时久,效率低 多道技术 计算机空闲时提前准备好一些数据,提高效率,耗时变短 通俗来说多道技术就是在做一件事的时候,在空余时间做其他事
# 切换+保存状态 # 1.切换 CPU在两种下会切换(去执行其他程序) 1.程序自身进入IO操作 IO操作:输入输出操作 获取用户输入 time.sleep() 读取文件 保存文件 2.程序长时间占用CPU # 2.保存状态 每次切换之前要记录当前的执行状态,之后切回后基于当前状态执行(如app的界面一般)
进程理论
# 1.进程的理解: 正在被运行的程序 # 2.进程的调度算法 -1.先来先服务算法 针对耗时短的程序不友好 -2.短作业优先调度 针对耗时久的程序不友好 -3.时间片轮转法+多级反馈队列 将都固定的个时间分为多份,每个程序分到一份 分配多次后还有程序运行就分到下一层 越往下表示程序总耗时越长,每次分到的时间片就越多,优先度变低 如果新来一个程序就会先运行新来的程序
进程的并行与并发
# 1.并行: 多个进程同时执行 无法通过单个cpu实现,需要多个cpu # 2.并发: 多个进程看上去像被同时执行 可以通过单个cpu实现(就是时间片轮转法+多级反馈队列) """并行也属于并发""" # 描述一个网站厉害通常说的是并发量(高并发),使用高并行描述不太合理
进程的三种状态
1.所有的进程要想被运行 必须先经过就绪态 2.运行过程中如果出现了IO操作 则进入阻塞态 3.运行过程中如果时间片用完 则继续进入就绪态 4.阻塞态要想进入运行态必须先经过就绪态 # 阻塞 : 阻塞态 # 非阻塞 : 就绪态,运行态
标签:耗时,编程,程序,阻塞,并发,进程,cpu From: https://www.cnblogs.com/juzijunjun/p/16900921.html