Junior — Middle
Lze mluvit o existenci hierarchie mezi korutinami během jejich provádění?
sobes.tech AI
Odpověď od AI
Ano, v Kotlinu mohou mít korutiny hierarchickou strukturu. Když spustíte korutinu v kontextu jiné korutiny (například pomocí launch uvnitř jiné korutiny), vytvoří se vztah rodič-dítě. Pokud je rodičovská korutina zrušena, všechny její dětské korutiny jsou automaticky zrušeny. To umožňuje řídit životní cyklus skupin korutin a předcházet únikům zdrojů.
Příklad:
val parentJob = CoroutineScope(Dispatchers.Default).launch {
val childJob = launch {
// práce dětské korutiny
}
}
// Při zrušení parentJob bude automaticky zrušena i childJob
parentJob.cancel()