并发编程
并发编程理论
# 操作系统发展史 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.阻塞态要想进入运行态必须先经过就绪态 # 阻塞 : 阻塞态 # 非阻塞 : 就绪态,运行态
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律