Назад к вопросам
JuniorТеорияЧасто
Что выведет программа (строки через пробел)?
import kotlinx.coroutines.*
fun main() = runBlocking {
launch {
delay(100)
println("A")
}
println("B")
}B A
- Ждать
A B: считать, чтоlaunchвыполняет блок до конца и только потом идёт дальше. Он лишь запускает корутину, иmainпечатаетBраньше, чем корутина выполнит хоть одну строку. - Ждать только
B: считать, что программа заканчивается вместе с последней строкойmain.runBlockingне завершится, пока не закончатся все запущенные корутины.
- Что выведет программа, если убрать
delay(100)? - Как с помощью
join()сделать, чтобыAнапечаталось раньшеB?