Почему данный блок кода не запускается?
Почему не отрабатывает данный блок кода?
fun main() {
val customScope = CustomScope()
customScope.launch {
println("start")
launch { println("a") }
launch { println("b") }
println("end")
}
}
class CustomScope : CoroutineScope {
private var parentJob = Job()
override val coroutineContext: CoroutineContext
get() = Dispatchers.IO + parentJob
}
При этом если делать вызов launch внутри runblocking, то все работает.
runBlocking {
launch {
println("start")
launch { println("a") }
launch { println("b") }
println("end")
}
}
Ответы (1 шт):
Автор решения: Wlad
→ Ссылка
код работает. что вы имеете ввиду когда говорите "не отрабатывает данный блок кода"??
если то, что выводится не в том порядке, то вам надо использовать такую конструкцию
customScope.launch {
logInfo("start")
coroutineScope {
launch {
delay(1000)
logInfo("a")
}
launch {
delay(1000)
logInfo("b")
}
}
logInfo("end")
}