每天学习一点点之进程与线程、并行与并发

🏰 计算机游乐园手册

一、进程与线程------旅行团与游客

🔧 核心设定

  • 操作系统 = 智能乐园云控中心(全局资源调度)
  • CPU核 = 游乐设施(过山车/旋转木马等)
  • 内存/磁盘 = 共享物资仓库

1. 进程 = 旅行团 🧳

  • 诞生:当你启动程序 → 云控中心创建新旅行团
  • 特权
    ✅ 领取资源大礼包(CPU体验券+内存零食车+磁盘储物柜)
    ❌ 不同旅行团之间有防盗门(进程隔离)
    👑 系统进程团 = 乐园维修队(穿OS制服,维护设施)
    👨‍💻 用户进程团 = 你组织的游客团(每个程序是一个团)

2. 线程 = 游客 👨👩👧👦 (CPU调度最小单位)

  • 轻装上阵 :只带三件套 →
    📍 程序计数器(地图) | 🧩 寄存器(零钱包) | 📚 栈(随身包)
  • 关键法则
    🔐 游客不能流浪!必须归属旅行团(线程依赖进程)
    🤝 同团游客共享零食车(线程共享进程资源)

二、CPU时间片轮转机制------公平体验闸机 ⚙️

智能设施规则

css 复制代码
[设施入口]  
   │  
   ▼  
自动闸机扫描游客票券 → 【3秒体验券】⏱️  
   │  
   ▼  
游客登设施游玩 → 券到期 → 闸机亮灯🟢 → 游客自动离场  
   │  
   ▼  
游客重回队尾 → 等待下次派券  
  • 云控中心从不指挥游客!只设定闸机算法
  • 线程切换 = 游客换乘时的"寄存包裹"(上下文切换)
  • 线程A在过山车上被闸机提醒:"您的体验时间已到,请重新排队~"

第三章:并发 vs 并行------设施魔法揭秘 🎩

▌ 并发(单核魔术)

"1个旋转木马服务100人?"

  • 动态轮换术
    游客A骑白马 → 3秒 → 换游客B骑独角兽 → 3秒 → 游客C坐马车
  • 肉眼幻觉 : 所有游客仿佛同时在马上欢笑(实际极速交替)
  • 计算机对应 : 单核CPU处理微信+音乐+下载:"我是闪电侠!"

▌ 并行(多核狂欢)

"过山车复制术启动!"

  • 物理扩建
    核1设施:线程A 🎢------------------
    核2设施:线程B 🚀------------------
    核3设施:线程C 🌊------------------
  • 土豪真相 : 多核CPU = 乐园扩建多条相同轨道

    线程真·同步推进(无切换损耗)


乐园全景运作图 🗺️

css 复制代码
                          [智能云控中心]  
                                │  
         分配资源包             ▼            派发体验券  
 [旅行团A(进程)] ──────→ [CPU设施集群] ←─────→ [游客(线程)]  
   ├─内存零食车                ├─🎢 核1过山车       │  
   ├─磁盘储物柜                ├─🎠 核2旋转木马     │  
   └─共享给团员───────────────► ├─🚤 核3激流勇进    │  
                                ├─🎪 核4魔术屋      │  
                                      ▲            │  
                                      └─ 闸机自动收券  

总结一下:

1、进程是程序运行资源分配的最小单位资源包括:CPU、内存空间、磁盘等。

2、线程是CPU调度的最小单位 ,必须依赖于进程而存在。

3、线程只拥有在运行中必不可少的资源(如程序计数 器,一组寄存器和栈), 但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。

4、CPU时间片轮转机制也称RR调度,为每个进程被分配一个时间段,称作它的时间片,即该进程允许运行的时间。如果在时间片结束时进程还在运行,则CPU将被剥夺并分配给另一个进程。如果进程在时间片结束前阻塞或结束,则CPU当即进行切换。调度程序所要做的就是维护一张就绪进程列表,当进程用完它的时间片后,它被移到队列的末尾。

5、并行与并发 并发:本质上靠1个CPU核心处理多任务,靠极速切换制造"同时进行"的假象,并行:多个cpu核心真·同时处理任务,任务被物理同步推进

相关推荐
止语Lab1 小时前
好的 DX 不等于少写代码——三种语言的摩擦力设计课
后端
吃饱了得干活1 小时前
别再手动解析 LLM 输出了!LangChain 四种结构化输出方案对比
后端·python·langchain
程序员天天困1 小时前
Arthas trace 命令怎么用?一行定位最慢那行代码
jvm·后端
Huiturn1 小时前
GPT 5.6 连续编码 10 小时,纯 Python 啃下 Word 二进制格式——doc2docx 实现拆解
后端
用户298698530141 小时前
Python 实现 Excel 与 Markdown 互转的实用指南
后端·python·excel
用户77283104908401 小时前
krono-job:零侵入、单二进制交付的分布式任务调度平台(开源)
后端
Conan在掘金1 小时前
鸿蒙报错速查:Function lacks ending return statement,返回路径漏 return 就炸,根因 + 真解法
后端
人间凡尔赛2 小时前
AI-Native 云原生架构:2026 年从容器编排到智能体编排的范式革命
后端·云原生·架构
IT_陈寒2 小时前
Vue的响应式让我加班到凌晨3点,原来问题出在这
前端·人工智能·后端
卷无止境2 小时前
提升 Python 代码健壮性的方法大盘点
后端·python