в таком примитивном примере:
import kotlinx.coroutines.*
fun test() {
val backgoundCS = CoroutineScope(SupervisorJob() + Dispatchers.Default)
println("1")
backgoundCS.launch {
println("2")
}
// runBlocking { }
}
test()
печатается только "1", но если раскомментировать runBlocking печатается и "1" и "2" и я не понимаю почему... Может кто-ни будь пояснить пожалуйста? (версия корутин 1.6.0 но не думаю что это имеет значение)
скорее всего, программа заканчивается ещё до старта корутины
Ну runBlocking здесь никаких джобов внутри не запускает... чего бы ему ждать? Ну и этот тест конечно очень примитивный, в реальном коде ничего не останавливается на этом вызове.
запуск корутины не моментальный
Обсуждают сегодня