Junior — Middle
Може ли се говорити о постојању хијерархије између корутина током њиховог извршавања?
sobes.tech АИ
Одговор од АИ
Da, u Kotlinu korutine mogu imati hijerarhsku strukturu. Kada pokrenete korutinu u kontekstu druge korutine (na primer, koristeći launch unutar druge korutine), kreira se odnos roditelj-ćerka. Ako se roditeljska korutina otkaže, sve njene ćerke korutine se automatski otkazuju. Ovo omogućava upravljanje životnim ciklusom grupa korutina i sprečava curenje resursa.
Primer:
val parentJob = CoroutineScope(Dispatchers.Default).launch {
val childJob = launch {
// rad ćerke korutine
}
}
// Kada se otkaže parentJob, automatski će se otkazati i childJob
parentJob.cancel()