协程进阶:上下文 06. Job 的父子关系

本篇解析 example-context-06.kt。探讨协程如何建立和断开层级联系。

1. 默认继承

在同一个作用域启动的子协程,默认会继承父协程的 Job

2. 独立运行:launch(Job())

如果在启动子协程时传入了一个新的 Job() 对象,这个子协程就会脱离原来的家族体系,成为一个独立的根协程。

  • 特性:当父协程被取消时,这个独立的子协程不会被取消。

3. 开发者感悟

这种机制提供了极大的灵活性。如果你需要启动一个生命周期不随当前 Activity 结束而结束的任务(例如一个全局的同步服务),你可以使用这种方式来断开父子关联。

,