美文网首页
Kotlin协程(3)✔️协程生命周期

Kotlin协程(3)✔️协程生命周期

作者: 狼性代码人 | 来源:发表于2019-06-21 07:34 被阅读0次

    协程的声明周期是通过 Job 的几种状态体现的,Job协程有 6 种状态:

    • 新建状态
      新建状态主要是通过 launch 函数创建协程对象,它仅仅是一个空的协程对象。

    • 活动状态
      新建协程调用 start 函数后,它就进入活动状态。launch 函数通过 start 参数判断是否启动协程。处于活动状态的协程会执行协程体。

    • 正在完成状态
      正在完成状态是一个瞬间过渡状态,从活动状态进入到已完成状态时经历的中间状态。

    • 已完成状态
      协程成功执行完协程体,就会进入已完成状态,这是最终状态,说明这个协程已经停止。

    • 正在取消状态
      在活动状态或正在完成状态时,如果调用了 cancel 函数则会进入已取消状态,在此之前要先进入正在取消状态,正在取消状态也是一个瞬间过渡状态。

    • 已取消状态
      在新建状态、活动状态或正在完成状态时,如果调用 cancel 函数最终都会是已取消状态,只是新建状态没有经历正在取消状态,而直接是已取消状态。已取消状态是最终状态,使用这个协程已经停止。

      Job状态

    Job 状态可以通过 Job 的 isActiveisCompletedisCancelled 属性判断而知,具体说明如下:

    状态 isActive isCompleted isCancelled
    新建状态 false false false
    活动状态 true false false
    正在完成状态 true false false
    正在取消状态 false false true
    已取消状态 false true true
    已完成状态 false true false

    相关文章

      网友评论

          本文标题:Kotlin协程(3)✔️协程生命周期

          本文链接:https://www.haomeiwen.com/subject/lpllqctx.html