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