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

🏰 计算机游乐园手册

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

🔧 核心设定

  • 操作系统 = 智能乐园云控中心(全局资源调度)
  • 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核心真·同时处理任务,任务被物理同步推进

相关推荐
ruokkk21 分钟前
如何正确的配置eureka server集群
后端
AKAMAI36 分钟前
云计算迁移策略:分步框架与优势
后端·云原生·云计算
ruokkk41 分钟前
eureka如何绕过 LVS 的虚拟 IP(VIP),直接注册服务实例的本机真实 IP
后端
AKAMAI1 小时前
为何AI推理正推动云计算从集中式向分布式转型
后端·云原生·云计算
程序员鱼皮1 小时前
学 Java 还是 Go 语言?这事儿很简单!
java·后端·计算机·程序员·开发·编程经验·自学编程
天蓝的那一角1 小时前
你想要的Lambda第二弹
后端
JohnYan1 小时前
Bun技术评估 - 06 Redis
redis·后端·bun
写bug写bug1 小时前
Dubbo中SPI机制的实现原理和优势
java·后端·dubbo
刘白Live1 小时前
【Java】Git的一些常用命令
git·后端
Barcke1 小时前
AI赋能开发者工具:智能提示词编写与项目管理实践
前端·后端