Junior — Middle
პროგრამირებაში კორუტინების ძირითადი როლი რა არის და როგორ განსხვავდება ისინი ნაკადებისგან?
sobes.tech AI
პასუხი AI-სგან
Korutinlər yüngül icra axınlarıdır və asinxron və rəqabətli kodu daha sadə və anlaşılan şəkildə yazmağa imkan verir. Androidda (və Kotlin) korutinlər fon tapşırıqlarını yerinə yetirmək üçün istifadə olunur, əsas (UI) axını bloklamadan:
Korutinlər və axınlar arasındakı əsas fərqlər:
- Yüngüllük: korutinlər sistem axınlarından çox daha az resurs istifadə edir.
- İdarəetmə: korutinlər tətbiq daxilində planlayıcı tərəfindən idarə olunur, əməliyyat sistemi tərəfindən deyil.
- Dayandırma və davam etdirmə: korutinlər müəyyən nöqtələrdə (suspend) dayandırıla və davam etdirilə bilər, bu da asinxron proqramlaşdırmanı sadələşdirir.
Kotlin üçün Android-də korutin istifadəsi nümunəsi:
import kotlinx.coroutines.*
fun loadData() {
GlobalScope.launch(Dispatchers.Main) { // əsas axında korutina başlat
val data = withContext(Dispatchers.IO) { // fon axına keç
fetchDataFromNetwork() // uzun sorğu
}
updateUI(data) // UI-ni yenilə
}
}
Beləliklə, korutinlər asinxron kod yazmağa imkan verir ki, bu da ardıcıl kimi görünür, mürəkkəb callbacklər və bloklamalar olmadan.