首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Kotlin 协程
雨白
创建于2025-05-20
订阅专栏
协程
等 8 人订阅
共12篇文章
创建于2025-05-20
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
协程进阶:协作、互斥与共享状态管理
内容包括:用Job和Channel替代CountDownLatch;select的“先到先得”用法;Mutex与synchronized的区别;以及ThreadLocal在协程中的正确使用。
StateFlow 与 SharedFlow:在协程中管理状态与事件
讲解SharedFlow和StateFlow。它们是“热”流,用以解决普通“冷”Flow无法共享数据的问题。SharedFlow适合广播事件,StateFlow 适合管理状态,它总会保留一个最新值。
Flow 的异常处理与执行控制
详解Flow两大难点:异常和并发。解释了为什么推荐使用catch而不是try-catch,以及flowOn和buffer的工作原理。
玩转 Flow 操作符(二):时间控制、聚合与组合
详解 Kotlin Flow 核心操作符,涵盖时间(timeout, sample)、聚合(reduce, fold)与合并(merge, zip, combine)三大类。
玩转 Flow 操作符(一):数据转换与过滤
本文是 Kotlin Flow 操作符的简明指南。内容涵盖了过滤、转换、去重和调试等核心操作,并重点解析了 map 和 mapLatest 的关键区别。
Kotlin Flow 入门:构建响应式异步数据流
讲解Flow核心:Flow是协程版的Sequence,具有“冷流”特性。分析了flow为何限制emit上下文,并介绍了channelFlow和launchIn等API。
协程间的通信管道 —— Kotlin Channel 详解
讲解了协程Channel。它和async类似,但能多次发送数据。它是个队列,不适合多个协程同时接收。介绍了Channel的容量、缓冲设置,以及 close() 和 cancel() 两种关闭方法。
掌握协程的边界与环境:CoroutineScope 与 CoroutineContext
辨析了CoroutineScope与Context,澄清了GlobalScope的用途。重点讲解coroutineScope和withContext的本质,并解析了Context的操作原理。
让协程更健壮:全面的异常处理策略
本文分析了协程 try-catch 失效的原因,讲解了异常与取消的传播机制、CoroutineExceptionHandler 的用法,以及 async 和 SupervisorJob 的特殊规则。
优雅地处理协程:取消机制深度剖析
讲解Kotlin协程的协作式取消。协程取消需要delay或isActive检查来配合。介绍了父协程会自动取消子协程的结构化特性,以及如何使用NonCancellable来保护清理代码。
深入理解协程的运作机制 —— 调度、挂起与性能
从 withContext 的用法开始,介绍如何通过自定义挂起函数封装耗时操作。并阐述了责任转移的设计思想,解释了协程通过状态机实现非阻塞挂起的底层原理。
初识协程: 为什么需要它以及如何启动第一个协程
介绍 Kotlin 协程入门知识。理解协程为何能用同步代码替代回调,并学会如何启动协程、切换线程,以及它在 Android 项目中的推荐用法。