Пример 1:
fun main(args: Array<String>) = runBlocking<Unit> {
val time = measureTimeMillis {
val one = async {
delay(1000)
return@async 1
}
val two = async {
delay(3000)
return@async 2
}
println("The answer is ${one.await() + two.await()}")
}
println("Completed in $time ms")
}
Результат 1:
The answer is 3
Completed in 3041 ms
Пример 2:
fun main(args: Array<String>) = runBlocking<Unit> {
val time = measureTimeMillis {
val one = async {
delay(1000)
return@async 1
}.await()
val two = async {
delay(3000)
return@async 2
}.await()
println("The answer is ${one + two}")
}
println("Completed in $time ms")
}
Результат 2:
The answer is 3
Completed in 4043 ms
Проверьте эту ссылку для официальной документации для Одновременное использование async
Заключение
async-await-async-await приведет к чисто последовательномукод
async-async-await-await будет работать параллельно