协程进阶:上下文 04. 调度器之间的跳转

本篇解析 example-context-04.kt。学习如何手动控制协程运行的线程。

1. 核心操作符:withContext

withContext 允许你在同一个协程内部切换到不同的调度器执行一段逻辑。

执行流程:

  1. Ctx1 线程启动。
  2. 调用 withContext(Ctx2),协程挂起,在 Ctx2 执行业务逻辑。
  3. 执行完毕后,协程自动恢复到 Ctx1 继续运行。

2. 开发者感悟

withContext 是协程中最强大的特性之一。它让异步代码写起来像同步代码一样直观。在 Android 中,它常用于:在主线程协程中,临时切到 IO 线程读个数据库,然后直接拿到返回值切回主线程。

,