美文网首页
Kotlin 协程的简单使用

Kotlin 协程的简单使用

作者: ChenME | 来源:发表于2020-05-07 10:15 被阅读0次

    Kotlin 协程的简单使用

    1. 关于协程

    协程(Coroutines)和线程(Threads)是两个完全不同的概念,简单来说协程跑在线程中,线程跑在进程中。

    2. Android 中的简单使用

    1. 导入

    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.5"
    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.5" // Android
    

    2. 协程的创建

    • 方式1:通过 runBlocking() 顶层函数创建
    runBlocking{
        // do something
    }
    

    该方法会阻塞当前线程来等待,在开发过程中很少用的到。

    • 方式2:通过 GlobalScope.launch() 创建
    val job: Job = GlobalScope.launch {
        // do something
    }
    
    // 可以调用 cancel() 方法取消
    job.cancel()
    

    该方法创建的生命周期会与 App 的生命周期一致,它与 runBlocking() 的区别在于不会阻塞线程,但是在 Android 开发中也不常使用。

    • 方式2:通过 CoroutineContext 创建一个 CoroutineScope 对象
    val job = Job()
    val scope = CoroutineScope(Dispatchers.Main + job)
    scope.launch{
        // do something (在主线程中执行)
    }
    
    // 可以调用 cancel() 方法取消
    job.cancel()
    

    该方式比较常用 。

    相关文章

      网友评论

          本文标题:Kotlin 协程的简单使用

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