Sobes.tech
Junior — Middle

Πώς μπορεί να υλοποιηθεί η ταυτόχρονη εκτέλεση πολλαπλών εργασιών με τη βοήθεια των κορουτινών;

sobes.tech AI

Απάντηση από AI

Για την ταυτόχρονη εκτέλεση πολλαπλών εργασιών με τις coroutine σε Kotlin, μπορείς να χρησιμοποιήσεις:

  • launch — ξεκινά μια νέα coroutine που εκτελείται παράλληλα με άλλες.
  • async — ξεκινά μια coroutine που επιστρέφει ένα αποτέλεσμα μέσω του Deferred.

Παράδειγμα ταυτόχρονης εκκίνησης δύο εργασιών και αναμονής των αποτελεσμάτων τους:

import kotlinx.coroutines.*

fun main() = runBlocking {
    val job1 = async {
        delay(1000)
        "Αποτέλεσμα εργασίας 1"
    }
    val job2 = async {
        delay(500)
        "Αποτέλεσμα εργασίας 2"
    }

    // Αναμένουμε και τα δύο αποτελέσματα
    val result1 = job1.await()
    val result2 = job2.await()

    println(result1)
    println(result2)
}

Έτσι, οι coroutine επιτρέπουν την εύκολη εκκίνηση πολλαπλών εργασιών παράλληλα και τον συγχρονισμό των αποτελεσμάτων τους.