Junior — Middle
Může rodičovská korutina skončit dříve než její vnořená korutina?
sobes.tech AI
Odpověď od AI
V Kotlinu může rodičovská korutina skončit dříve než dětská, pokud je dětská korutina spuštěna v jiném kontextu nebo v globálním scope.
Nicméně, pokud je dětská korutina spuštěna v kontextu rodiče (například pomocí launch v CoroutineScope rodiče), pak rodičovská korutina bude čekat na dokončení dětských korutin a skončí později nebo současně s nimi.
Příklad:
runBlocking {
val job = launch {
launch {
delay(1000)
println("Dětská korutina dokončena")
}
println("Rodičovská korutina dokončena")
}
job.join()
}
V tomto příkladu se rodičovská korutina neskončí, dokud nedokončí dětské korutiny.
Pokud je však dětská korutina spuštěna v GlobalScope, může se rodičovská korutina ukončit dříve.