协程指南
最终更新: 2024/03/21
Kotlin 只在它的标准库中提供了最少量的低层 API, 让其它库来使用协程.
与拥有类似功能的其他语言不同, async
和 await
在 Kotlin 中不是关键字, 甚至不是标准库的一部分.
而且, Kotlin 的 挂起函数 的概念, 为异步操作提供了一种比 future 和 promise 更安全, 更不容易出错的的抽象模型.
kotlinx.coroutines
是 JetBrain 公司开发的一个功能强大的协程功能库.
本文档将会详细介绍这个库中包含的很多高层的协程基本操作, 包括 launch
, async
, 等等.
本文档将会针对各种不同的主题, 通过一系列示例程序来介绍 kotlinx.coroutines
库的各种核心功能.
为了使用协程功能, 以及本文档中的各种示例程序, 你需要添加 kotlinx-coroutines-core
依赖项,
详细方法请参见 项目的 README 文件.
章节目录
- 协程的基本概念
- 实际动手(hands-on)教程: 协程与通道(Channel)简介
- 取消与超时
- 挂起函数(Suspending Function)的组合
- 协程上下文与派发器(Dispatcher)
- 异步的执行流(Asynchronous Flow)
- 通道(Channel)
- 协程的异常处理
- 共享的可变状态与并发
- 选择表达式 (实验性功能)
- 教程: 使用 IntelliJ IDEA 调试协程
- 教程: 使用 IntelliJ IDEA 调试 Kotlin 数据流(Flow)