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