Sobes.tech
Junior — Middle

Proqramlaşdırmada korutinlərin əsas rolu nədir və onlar iş parçacqlarından necə fərqlənir?

sobes.tech Süni İntellekt

AI-dan cavab

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. Android (və Kotlin) üzərində, korutinlər əsas axını (UI axını) bloklamadan fon tapşırıqlarını yerinə yetirmək üçün istifadə olunur.

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 korutin 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.