Skip to content
极高基础

一句话答案

进程是资源分配单位(独立地址空间),线程是 CPU 调度单位(共享进程资源),线程切换开销更小。

核心要点
维度进程线程
资源独立地址空间共享堆/方法区
切换大(TLB失效)小(不切地址空间)
通信IPC(管道/共享内存)直接共享内存
崩溃影响不影响其他进程可能导致整个进程崩溃
追问与易错

追问方向:

  • 线程和协程区别?
  • 一个 Java 线程占多少内存?
  • 进程崩溃一定不影响其他进程吗?

易错点:

  • ❌ 线程就是轻量级进程——实现不同
  • ❌ 多线程就比多进程好——多进程隔离性更强

💡 记忆锚点

进程像独立的公司(有自己的办公楼/地址空间),线程像公司里的员工(共享办公区/堆和方法区,各有自己的工位/栈)。公司倒闭不影响别的公司(进程隔离),但一个员工搞砸可能整个公司完蛋(线程崩溃影响整个进程)。换公司成本大(TLB失效),换员工成本小。