Sobes.tech
Junior — Middle

Как може да се реализира едновременото изпълнение на няколко задачи с помощта на корутини?

sobes.tech AI

Отговор от AI

За едновременно изпълнение на няколко задачи с помощта на корутините в Kotlin, можеш да използваш:

  • launch — стартира нова корутина, която се изпълнява паралелно с други.
  • async — стартира корутина, която връща резултат чрез 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)
}

По този начин, корутините позволяват лесно стартиране на няколко задачи паралелно и синхронизиране на резултатите им.