Kotlin 协程,job的生命周期

Posted 安果移不动

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kotlin 协程,job的生命周期相关的知识,希望对你有一定的参考价值。

通过async 或者 launch 创建的方法体会返回一个Job实例,该实例是携程的唯一标识,并且负责管理协程的生命周期。

一个任务可以包含一系列的状态,

新创建(New),活跃(Active),完成中(Completing)已完成 (Completed)、取消中(Cancelling)和已取消(Cancelled)

虽然我们无法直接访问这些状态,但是我们可以通过访问Job的属性

isActive\\isCancelled\\isCompleted

如果协程出于活跃状态,

协程运行出错或调用job.cancel()

都会将当前任务置为取消中(Cancelling)状态(isActive=false,isCancelled=true)

当所有子协程都完成后,协程会进入取消(Cancelled)状态,此时 isCompleted=true

 

以上是关于Kotlin 协程,job的生命周期的主要内容,如果未能解决你的问题,请参考以下文章

kotlin协程生命周期-基础

kotlin协程生命周期-基础

Kotlin 协程协程启动 ⑥ ( 协程生命周期状态 | 新创建 New | 活跃 Active | 完成中 Completing | 已完成 Completed | 取消中 | 已取消 )

Kotlin 协程协程启动 ⑥ ( 协程生命周期状态 | 新创建 New | 活跃 Active | 完成中 Completing | 已完成 Completed | 取消中 | 已取消 )

kotlin协程的生命周期与jetpack组件绑定

深入理解Kotlin协程协程的上下文 CoroutineContext