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很适合这种异步调用。

相关推荐
2501_9159090632 分钟前
全面解析iOS应用上架到App Store的完整流程与关键注意事项
android·macos·ios·小程序·uni-app·cocoa·iphone
淡淡的香烟3 小时前
AndroidAI使用心得
android
chjif3 小时前
Android 设备管控开发实战:无障碍如何准确识别当前前台 App?
android
chjif3 小时前
Android 设备管控开发实战:企业受控终端的 DNS 域名策略实现
android·华为·harmonyos
c238565 小时前
MySQL 基础用法(下):查询进阶与核心特性
android·c语言·c++·mysql
math_hongfan5 小时前
鸿蒙Agent高级技能自定义开发:自定义意图服务/能力注册/Agent技能编排/服务插件开发实战
android·学习·华为·harmonyos·鸿蒙
2501_915106326 小时前
iOS 证书类型及作用说明 账号证书与签名配置的完整解读
android·ios·小程序·https·uni-app·iphone·webview
九皇叔叔7 小时前
RHEL9 安装 MySQL 8.4.11.LTS 版本
android·mysql·adb
海兰7 小时前
【数据库】tdsql(MySQL )的事务隔离级别
android·数据库·mysql
哆啦A梦z7 小时前
Android BLE 实战:从小米手环 7 踩坑到完整连接框架
android