【2025最新版Kotlin教程】Kotlin第一行代码系列第十八课-协程生命周期

145 阅读1分钟
【2025最新版Kotlin教程】Kotlin第一行代码系列第十八课-协程生命周期

选学。 为什么选学呢,因为最好不要手动调生命周期来做你的逻辑。 job有生命周期

生命周期示例代码:
fun main() {
    runBlocking {
        /**
         * 点async看下源码可以看到返回的job对象
         */
        val result = async {

        }


    }
}


/**
 * job的源码重要部分
 */
public interface Job  {


    public val isActive: Boolean

    public val isCompleted: Boolean

    public val isCancelled: Boolean

    public fun getCancellationException(): CancellationException



    public fun start(): Boolean

    public fun cancel(cause: CancellationException? = null)

    public fun cancel(): Unit = cancel(null)

    public fun cancel(cause: Throwable? = null): Boolean



    public suspend fun join()

    public val onJoin: SelectClause0



    public fun invokeOnCompletion(handler: CompletionHandler): DisposableHandle

    public fun invokeOnCompletion(
        onCancelling: Boolean = false,
        invokeImmediately: Boolean = true,
        handler: CompletionHandler): DisposableHandle

}
整个kotlin教程的源码项目结构图:

在这里插入图片描述\