Sobes.tech
Junior — Middle

Müasir sistemlərdə tapşırıqların paralel icrasını həyata keçirmək üçün hansı metodlar istifadə olunur?

sobes.tech Süni İntellekt

AI-dan cavab

Müasir sistemlərdə tapşırıqların paralel icrası müxtəlif üsullarla həyata keçirilir:

  1. Çox iplik (Threads) — eyni proses daxilində çox sayda ipliklərin yaradılması və idarə olunması. Android-də bu, Thread və ya ExecutorService sinfi ola bilər.

  2. Asinxron proqramlaşdırma — callbacklər, Future, CompletableFuture, Kotlin Coroutines istifadə edərək tapşırıqları əsas ipi bloklamadan yerinə yetirmək.

  3. İplik hovuzları (Thread Pools) — resursların səmərəli bölüşdürülməsi üçün məhdud sayda ipliklərin idarə olunması.

  4. RxJava / Reaktiv proqramlaşdırma — asinxron məlumat axınlarının işlənməsi üçün reaktiv yanaşma.

  5. WorkManager / JobScheduler — cihazın məhdudiyyətlərini nəzərə alaraq, paralel şəkildə icra oluna biləcək fon tapşırıqlarını planlaşdırmaq üçün sistem API-ləri.

Kotlin Coroutines istifadə edərək iki tapşırığı paralel yerinə yetirmək nümunəsi:

import kotlinx.coroutines.*

fun main() = runBlocking {
    val job1 = async { heavyTask() }
    val job2 = async { simpleTask() }

    println("Nəticələr: ${job1.await()}, ${job2.await()}")
}

suspend fun heavyTask(): String {
    delay(1000) // ağır işin təqlidi
    return "Ağır tapşırıq tamamlandı"
}

suspend fun simpleTask(): String {
    delay(500) // sadə işin təqlidi
    return "Sadə tapşırıq tamamlandı"
}

Bu yanaşma resurslardan səmərəli istifadə etməyə və istifadəçi interfeysinin bloklanmamasına imkan verir.