Sobes.tech
Junior — Middle

Je možné hovoriť o existencii hierarchie medzi korutinami počas ich vykonávania?

sobes.tech AI

Odpoveď od AI

Áno, v Kotlinu môžu mať korutiny hierarchickú štruktúru. Keď spustíte korutinu v kontexte inej korutiny (napríklad pomocou launch vnútri inej korutiny), vytvorí sa vzťah rodič-dieťa. Ak je rodičovská korutina zrušená, všetky jej deti korutiny sa automaticky zrušia. To umožňuje riadiť životný cyklus skupín korutín a predchádzať únikom zdrojov.

Príklad:

val parentJob = CoroutineScope(Dispatchers.Default).launch {
    val childJob = launch {
        // práca detskej korutiny
    }
}

// Pri zrušení parentJob sa automaticky zruší aj childJob
parentJob.cancel()