Kotlin协程快速入手

将项目改为支持Kotlin

(如果项目本身就是kotlin项目,这一步可以忽略)

  1. 在项目的build.gradle的dependencies下面加上
    classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.0” (版本可以改变,后面肯定会更新.)
  2. 在module里的build.gradle加上
    apply plugin: ‘kotlin-android’
    apply plugin: ‘kotlin-android-extensions’

引入库

在module的build.gradle的dependencies加上
implementation ‘org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2’
implementation ‘org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2’

两个简单使用例子

GlobalScope.launch(context = Dispatchers.IO) {
            //延时一秒
            delay(1000)
            Log.e("MainActivity","launch");
        }
        //主动休眠两秒,防止 JVM 过快退出
        Log.e("MainActivity","start");
        Thread.sleep(2000)
        Log.e("MainActivity","end");

//        val time = measureTimeMillis {
        GlobalScope.launch  {
                val asyncA = async {
                    delay(3000)
                    1
                }
                val asyncB = async {
                    delay(4000)
                    2
                }
                Log.e(MainActivity.javaClass.name,"msg:"+asyncA.await() + asyncB.await())
            }

运行结果:
2022-06-07 17:46:59.152 8021-8021/com.laotie.test E/MainActivity: start
2022-06-07 17:47:00.161 8021-8065/com.laotie.test E/MainActivity: launch
2022-06-07 17:47:01.152 8021-8021/com.laotie.test E/MainActivity: end
2022-06-07 17:47:01.154 8021-8021/com.laotie.test E/com.laotie.test.MainActivity C o m p a n i o n : t i m e : 2022 − 06 − 0717 : 47 : 05.1688021 − 8067 / c o m . l a o t i e . t e s t E / c o m . l a o t i e . t e s t . M a i n A c t i v i t y Companion: time: 2022-06-07 17:47:05.168 8021-8067/com.laotie.test E/com.laotie.test.MainActivity Companion:time:2022060717:47:05.16880218067/com.laotie.testE/com.laotie.test.MainActivityCompanion: msg:12

详细知识可以看看这个博客:

https://juejin.cn/post/6908271959381901325

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值