Sobes.tech
Junior — Senior
370

Определение параллельного и последовательного исполнения

被问到的公司:

Uzum
任务条件

Даны две функции, которые вызывают suspend‑функцию. Нужно выяснить, в какой из них вызовы происходят одновременно, а в какой – один за другим.

fun sum(): Int {
    val first = async { suspendFun() }.await()
    val second = async { suspendFun() }.await()
    return first + second
}

fun sum2(): Int {
    val first = async { suspendFun() }
    val second = async { suspendFun() }
    return first.await() + second.await()
}

fun suspendFun(): Int {
    longBackgroundWork()
}