Sobes.tech
Junior — Middle

Kas on võimalik rääkida hierarhiast korutinate vahel nende täitmise ajal?

sobes.tech AI

Vastus AI-lt

Jah, Kotlinis võivad korutinad omada hierarhilist struktuuri. Kui alustate korutina teises korutinas kontekstis (näiteks kasutades launch teise korutina sees), tekib vanem-laps suhe. Kui vanemkorutina tühistatakse, tühistatakse automaatselt kõik selle lapsed korutina. See võimaldab hallata korutinate gruppide elutsüklit ja vältida ressursside lekkimist.

Näide:

val parentJob = CoroutineScope(Dispatchers.Default).launch {
    val childJob = launch {
        // lapse korutina töö
    }
}

// Kui parentJob tühistatakse, tühistatakse automaatselt ka childJob
parentJob.cancel()