Junior — Middle
Ar galima kalbėti apie hierarchiją tarp korutinių jų vykdymo metu?
sobes.tech AI
Atsakymas iš AI
Taip, Kotlin korutinai gali turėti hierarchinę struktūrą. Kai paleidžiate korutiną kitoje korutinų kontekste (pavyzdžiui, naudojant launch viduje kitos korutinės), sukuriama tėvo-vaiko santykis. Jei tėvo korutina atšaukiama, visi jos vaiko korutinai automatiškai atšaukiami. Tai leidžia valdyti korutinų grupių gyvavimo ciklą ir išvengti išteklių nutekėjimo.
Pavyzdys:
val parentJob = CoroutineScope(Dispatchers.Default).launch {
val childJob = launch {
// vaiko korutinos darbas
}
}
// Kai atšaukiama parentJob, automatiškai atšaukiama ir childJob
parentJob.cancel()