← [ BACK_TO_NOTES ]

进程 / 线程 / 协程(面试速记)

面试向:一页区分进程/线程/协程,含内存共享、调度单位、开销与典型陷阱。

#operating-system #concept #evergreen

[!info] related notes 操作系统 MOC 进程&线程&协程(长文) JavaScript中的进程、线程与协程 Worker 线程

进程 / 线程 / 协程(面试速记)

一句话:

  • 进程:资源分配与隔离的基本单位
  • 线程:CPU 调度的基本单位(进程内执行流)
  • 协程:用户态调度的轻量执行单元(切换由程序控制)

1) 进程

  • 拥有:独立地址空间、文件描述符、内核对象等
  • 优点:隔离强、崩溃影响面更小
  • 代价:创建/切换/通信成本更高(IPC)

2) 线程

  • 同进程线程共享:代码段、数据段、堆、打开文件、地址空间
  • 线程私有:PC、寄存器、栈
  • 优点:共享数据方便,切换比进程轻
  • 风险:共享导致竞态/死锁/可见性问题,一个线程崩溃可能带崩进程

3) 协程

  • 用户态调度,切换开销小
  • 常用于高并发 I/O:大量任务在等待 I/O,不适合“一任务一线程”
  • 是否能利用多核取决于运行模型(单线程协程通常不并行)

高频陷阱

  • “并发”不等于“并行”
  • 线程共享内存所以要同步;进程隔离所以通信要 IPC
  • 协程不是 OS 线程:协程切换不等于线程切换
创建于 2026/3/16 更新于 2026/7/15
Digital Biome
Access

键盘导航

j / k / ↑ / ↓
选择对象
Enter / o
打开选择
/ 或 Ctrl+K
全站搜索
i / f / 1–4
筛选当前列表
g → h / l / p / t / a
首页 / 笔记 / 项目 / 工具 / About
r → 1–9
打开所选对象的关联
u
返回上一页
Esc
关闭浮层 / 取消命令;输入框内清空文本