Sobes.tech
Junior — Middle

შესაძლებელია თუ არა საუბარი კორუტინების შორის ჰიერქიაზე მათი შესრულების დროს?

sobes.tech AI

პასუხი AI-სგან

დიახ, Kotlin-შეიძლება korutin-ების ჰიერქარქიული სტრუქტურა ჰქონდეს. როდესაც თქვენ იწყებთ korutin-ას სხვა korutin-ის კონტექსტში (მაგალითად, launch-ის გამოყენებით სხვა korutin-ის შიგნით), იქმნება მშობელი-შვილი ურთიერთობა. თუ მშობელი korutina გაუქმდება, მისი ყველა შვილური korutin-ი ავტომატურად გაუქმდება. ეს საშუალებას აძლევს მართოთ korutin-ჯგუფების ციკლი და თავიდან აიცილოთ რესურსების გაჟონვა.

მაგალითი:

val parentJob = CoroutineScope(Dispatchers.Default).launch {
    val childJob = launch {
        // შვილური korutina-ს სამუშაო
    }
}

// როდესაც parentJob გაუქმდება, childJob-იც ავტომატურად გაუქმდება
parentJob.cancel()