Junior — Middle
Môže rodičovská korutina skončiť skôr ako jej vnútorná korutina?
sobes.tech AI
Odpoveď od AI
V Kotlinu môže rodičovská korutina skončiť skôr ako detská, ak je detská korutina spustená v inom kontexte alebo v globálnom scope.
Avšak, ak je detská korutina spustená v kontexte rodiča (napríklad pomocou launch v CoroutineScope rodiča), potom rodičovská korutina bude čakať na dokončenie detských korutín a skončí neskôr alebo súčasne s nimi.
Príklad:
runBlocking {
val job = launch {
launch {
delay(1000)
println("Detská korutina dokončená")
}
println("Rodičovská korutina dokončená")
}
job.join()
}
V tomto príklade sa rodičovská korutina neskončí, kým detské korutiny nebudú dokončené.
Ak je však detská korutina spustená v GlobalScope, môže sa rodičovská korutina ukončiť skôr.