Junior — Middle
Dasturlashda korutinlarning asosiy roli nima va ular qanday farq qiladi iplar bilan?
sobes.tech AI
AIdan javob
Korutinalar — bu yengil ijro oqimlari bo‘lib, ular asinxron va raqobatli kodni yozishni soddalashtiradi va tushunarliroq qiladi. Android (va Kotlin)da korutinalar asosiy oqimni (UI oqimi) bloklamasdan fon vazifalarini bajarish uchun ishlatiladi.
Korutinalar va oqimlar o‘rtasidagi asosiy farqlar:
- Yengillik: korutinalar tizim oqimlariga qaraganda ancha kam resurs talab qiladi.
- Boshqaruv: korutinalar ilova ichidagi rejalashtiruvchi tomonidan boshqariladi, operatsion tizim tomonidan emas.
- To‘xtatish va davom ettirish: korutinalar ma’lum nuqtalarda (suspend) to‘xtatilishi va davom ettirilishi mumkin, bu asinxron dasturlashni soddalashtiradi.
Kotlin uchun Androidda korutinalardan foydalanish misoli:
import kotlinx.coroutines.*
fun loadData() {
GlobalScope.launch(Dispatchers.Main) { // asosiy oqimda korutina boshlash
val data = withContext(Dispatchers.IO) { // fon oqimiga o‘tish
fetchDataFromNetwork() // uzoq davom etadigan so‘rov
}
updateUI(data) // UI ni yangilash
}
}
Shu tarzda, korutinalar asinxron kod yozishga imkon beradi, u ketma-ket ko‘rinadi, murakkab callbacklar va bloklamalar olmaysiz.