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

猜你喜欢

转载自blog.csdn.net/mp624183768/article/details/125248038