本篇解析 example-compose-02.kt。学习如何让不相干的任务并行运行.
1. 核心操作符:async
async 与 launch 类似,都会启动一个新的协程。
关键区别:
- 返回值:
async返回一个Deferred<T>,它代表一个未来的结果。 - 获取结果:通过
await()挂起并等待结果。 - 并发性:在
await()之前启动多个async,它们会并发执行。
2. 代码解析
1 | val time = measureTimeMillis { |
- 对比顺序执行:时间从 2000ms 减少到了 1000ms。
3. 开发者感悟
async 是协程中处理并发的核心手段。在 Android 中,如果你需要同时请求用户信息和通知列表,请务必使用 async 并行处理。只有当你真正需要结果时,才调用 await()。