Sobes.tech
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.