Назад к задачам
Junior — Senior
7

Поведение runBlocking при работе с async‑корутинами

Компании, где спрашивали:

amoCRMamoCRM
Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Определите, какой вывод появится в консоли после выполнения следующей программы:

val coroutineContext = Job() + Dispatchers.Default
val mainScope = CoroutineScope(coroutineContext)

val first = mainScope.async {
    println(1)
    delay(400)
    "First Async"
}

val second = mainScope.async {
    println(2)
    delay(100)
    "Second Async"
}

runBlocking {
    delay(300)
    println(3)
    println("${first.await()} ${second.await()}")
}