Sobes.tech
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()