Junior — Middle
Ushbu korutinalar bajarilayotganda, ularning o'rtasida hierarxiya mavjudligini aytish mumkinmi?
sobes.tech AI
AIdan javob
Ha, Kotlin'da korutinlar hierarxiyaga ega bo'lishi mumkin. Bir korutina boshqasining kontekstida ishga tushirilganda (masalan, launch yordamida boshqa korutina ichida), ota-ota bog'liqlik yaratiladi. Agar ota korutina bekor qilinsa, uning barcha bolalar korutinlari avtomatik ravishda bekor qilinadi. Bu korutinlar guruhining hayot aylanishini boshqarish va resurslarni oqib ketishining oldini olish imkonini beradi.
Misol:
val parentJob = CoroutineScope(Dispatchers.Default).launch {
val childJob = launch {
// bolalar korutinasining ishlashi
}
}
// parentJob bekor qilinganida, childJob ham avtomatik ravishda bekor qilinadi
parentJob.cancel()