kotlin async异步协程构建器

测试下async异步协程构建器:

Kotlin 复制代码
private fun testAsync() {
        Log.d("zxzx", "onCreate方法执行testAsync函数,线程:${Thread.currentThread().name}")
        lifecycleScope.launch{
            val deferred1 = async(Dispatchers.IO) {
                Log.d("zxzx", "task1 模拟网络请求开始,线程:${Thread.currentThread().name}")
                delay(2000)
                "结果1"
            }
            val deferred2 = async(Dispatchers.Default) {
                Log.d("zxzx", "task2 模拟网络请求开始,线程:${Thread.currentThread().name}")
                delay(3000)
                "结果2"
            }

            // 等待两个异步任务都完成,并获取结果
            val result1 = deferred1.await()
            val result2 = deferred2.await()

            Log.d("zxzx", "最终结果:$result1 + $result2, Thread: ${Thread.currentThread().name}")
        }
        Log.d("zxzx", "onCreate方法结束执行,线程:${Thread.currentThread().name}")
        Log.d("zxzx", "伤哉龙受困,不能越深渊。上不飞天汉,下不见于田。蟠居于井底,鳅鳝舞其前。藏牙伏爪甲,嗟我亦同然!")
    }

在onCreate方法中调用,运行打印:

ok. async很适合这种异步调用。

相关推荐
阿pin2 小时前
Android随笔-SharedPreferences
android·sp
茶栀(*´I`*)4 小时前
Android 测试入门指南:ADB 基础配置与常用设备管理命令解析
android·adb
gxgldyh6 小时前
Android Framework源码解析(七):BootAnimation 启动流程解析——开机动画是如何显示出来的?
android
达达尼昂6 小时前
在 Claude Cowork 中用好 Claude Fable 5
android·人工智能·后端
sTone873757 小时前
写时复制COW的第一性理解
android·c++·flutter
sTone873757 小时前
Zygote的第一性理解
android
sTone873757 小时前
类RN框架通过Service暴露卡片渲染能力给AI Chat
android·react native
灯火不休7 小时前
Android Studio & Flutter 构建命令完全指南
android
杉氧7 小时前
Ktor 全栈之路 (5):JWT 认证全流程实战 —— 打造安全通信闭环
android·架构·kotlin
️学习的小王7 小时前
Python + MySQL 学生信息管理系统实战教程
android·python·mysql