- 分类
- Kotlin
Kotlin 协程精讲:从结构化并发到 Channel 多路复用
协程的核心是结构化并发避免泄漏Job树。子协程需明确所属作用域(coroutineScope管理关联生命周期,supervisorScope隔离失败),不要将Job launch为孤儿根,测试时使用runTest。调度器决定resume线程,主线程恢复用Main.immediate,阻塞IO用IO后者避免阻塞关键路径,不要混用锁机制。取消通过协程协作实现,cancel触发挂起点,主动检查isActive保护CPU死循环。异常向上传播,采用 supervisorscope隔离失败,异常处理栈建议集中到底层,避免深嵌层吞异常。Channel用于精确背压的多消费者竞争场景,需明确关闭方,避免互等死锁。测试可以发现99%的问题,生产环境禁止在作用域外频繁启动协程。核心收益是用作用域组织Job树,配合Channel和正确调度,实现可控不泄漏的并发流程,避免僵尸协程和死锁。
- 2026/09/16 14:22
- 3
- 0
- 0
- 24.3℃
Kotlin Flow 一 概述
一、一句话说清:Flow 是什么? Flow = 协程版的「数据流」 用来处理 异步、连续、多个值 的序列。 类比一下你就懂: 返回单个值:suspend fun:协程挂起函数 返回多个连续值:Flow<T>:数据流 它就是协程世界里的 RxJava / LiveData
- 2026/03/24 18:37
- 30
- 0
- 0
- 27.0℃
Kotlin 协程一、概述
协程的难点 新概念 不同编程语言,对协程的实现不同。 对线程基础不牢。 协程是什么? 协程基于线程,它是轻量级的线程。 为什么它不是作为一个框架存在呢?Kotlin协程需要编译器,通常我们不称它为框架。 在Android中解决的问题 <
- 2026/03/23 22:18
- 49
- 0
- 0
- 28.9℃