协程 Flow / RxJava
2026/9/14小于 1 分钟
协程 Flow / RxJava
响应式编程与异步数据流。
文章列表
核心要点
协程 Flow
- 冷流:
flow {},收集时才开始执行 - 热流:
StateFlow/SharedFlow(状态共享) - 背压处理:
conflate/buffer/collectLatest - 操作符:
map/filter/flatMapConcat/combine/catch
协程原理
- 挂起本质:CPS 变换 + 状态机(
COROUTINE_SUSPENDED) - 调度器:
Dispatchers.Main/IO/Default/Unconfined - 结构化并发:Scope 管理生命周期,取消自动传播
- SupervisorJob:子异常隔离;
async/await组合并发
RxJava
- 核心概念:Observable / Observer / Scheduler
- 线程切换:
subscribeOn/observeOn - 操作符分类:创建、变换、过滤、组合、错误处理
- 与协程对比:协程更轻量,建议新项目用协程