Junior — Middle
Dasturlashda korutinlardan foydalanishning nima uchun zaruriyati?
sobes.tech AI
AIdan javob
Korutinalar asinxron dasturlashni soddalashtirish va asosiy oqimni bloklamasdan ko'p vazifali boshqarishni amalga oshirish uchun ishlatiladi. Androidda bu ayniqsa muhim, chunki uzoq davom etadigan operatsiyalar, masalan, tarmoq so'rovlar yoki ma'lumotlar bazasi bilan ishlashda UI oqimini bloklamaslik uchun zarur.
Korutinalar ketma-ket uslubda asinxron kod yozishga imkon beradi, bu esa kodning o'qilishi va qo'llab-quvvatlashini yaxshilaydi. Ular resurslarni samarali boshqaradi, bajarilishni to'xtatadi va yangi oqimlar yaratmaydi.
Kotlin'da tarmoq so'rovi qilish uchun korutinalardan foydalanish misoli:
import kotlinx.coroutines.*
fun fetchData() {
GlobalScope.launch(Dispatchers.Main) { // UI oqimida korutina boshlash
val data = withContext(Dispatchers.IO) { // fon oqimiga o'tish
// tarmoq so'rovi simulyatsiyasi
fetchFromNetwork()
}
updateUI(data) // olingan ma'lumotlar bilan UI ni yangilash
}
}
suspend fun fetchFromNetwork(): String {
delay(1000) // kechikishni simulyatsiya qilish
return "Serverdan ma'lumotlar"
}
fun updateUI(data: String) {
println(data)
}