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()