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

相关推荐
RDCJM8 小时前
【MySQL】在MySQL中STR_TO_DATE()以及其他用于日期和时间的转换
android·数据库·mysql
冬奇Lab9 小时前
AudioFlinger架构基础:Android音频系统的心脏
android·音视频开发·源码阅读
铁手飞鹰10 小时前
Visual Studio创建Cmake工程导出DLL,通过Python调用DLL
android·python·visual studio
冰语竹15 小时前
Android学习之相对布局
android
没有了遇见15 小时前
Android 中大型项目架构梳理
android
yashuk15 小时前
【MySQL】表的相关操作
android·mysql·adb
71-315 小时前
Android studio中真机操作
android·笔记·学习·其他·android studio
一只特立独行的Yang16 小时前
Android Focus小结
android
带娃的IT创业者17 小时前
Python 异步编程完全指南(二):深入 asyncio 核心概念
开发语言·python·协程·事件循环·asyncio·异步编程
aaajj19 小时前
【Android】appops学习
android·学习