Skip to content

并发与运行时底座

模块目标

建立 Java / Kotlin / Dart / Flutter / JS / Go 的执行模型对照心智。

这是后续理解生命周期、后台任务、状态管理、性能和排障的底层基础。

本模块要回答的问题

  • 线程到底是什么?
  • 协程为什么不是线程?
  • Future 为什么不是线程?
  • isolate 到底是什么?
  • event loop 如何工作?
  • 共享状态为什么会出锁问题?
  • Java / Kotlin / Dart / JS / Go 的并发模型分别适合什么?

子主题清单

01. Java 并发基础

总览

Java 专题拆分

说明:总览负责建立概念地图;专题文档负责展开细节、代码示例、选型边界与排障思路。

02. Kotlin 协程模型

  • [x] Kotlin 协程:挂起 / Continuation / Dispatcher / Mutex / StateFlow
  • [x] Dispatchers.Main / IO / Default(已并入协程主文档)
  • [x] withContext / launch / async(已并入协程主文档)
  • [x] CoroutineScope / SupervisorJob / 取消传播(已并入协程主文档)
  • [x] Flow / StateFlow / SharedFlow / Channel(已并入协程主文档)
  • [x] Mutex / actor 风格(Mutex 已并入;actor 可后续补专门对照)

03. Dart 并发模型

  • [x] Dart event loop / microtask / event queue / Future / isolate
  • [x] Future / Stream(Future 已纳入;Stream 在文中已有定位,后续可独立扩充)
  • [x] isolate / compute(isolate 已纳入;compute 可在 Flutter 侧补宿主化对照)
  • [x] 为什么 Future 不是线程
  • [x] 什么时候一定要用 isolate

04. JS 与 Go 对照

推荐复习顺序

  1. Java 并发模型总览
  2. Java 专题拆分(线程与任务 → 线程池 → 同步原语 → JMM → 问题定位)
  3. Kotlin 协程挂起恢复
  4. Dart Future / event loop / isolate
  5. JS event loop / Worker
  6. Go goroutine / channel
  7. 最后做一张跨语言对照表

对应 labs 入口

备注

这个模块的主线文档已经够用于系统复习;后续更适合按你自己的节奏去亲手补 labs、改 demo、加日志与错误场景,这样记忆会更牢。