Sobes.tech
Junior — Middle

Hogyan valósítható meg több feladat egyidejű végrehajtása korutinok segítségével?

sobes.tech MI

Válasz az MI-től

A Kotlinban a coroutine-ok segítségével több feladat egyidejű végrehajtásához használhatod:

  • launch — új coroutine-t indít, amely párhuzamosan fut másokkal.
  • async — egy coroutine-t indít, amely eredményt ad vissza a Deferred segítségével.

Példa két feladat egyidejű indítására és eredményeik várására:

import kotlinx.coroutines.*

fun main() = runBlocking {
    val job1 = async {
        delay(1000)
        "Feladat 1 eredménye"
    }
    val job2 = async {
        delay(500)
        "Feladat 2 eredménye"
    }

    // Mindkét eredményt várjuk
    val result1 = job1.await()
    val result2 = job2.await()

    println(result1)
    println(result2)
}

Így a coroutine-ok lehetővé teszik több feladat könnyű párhuzamos indítását és eredményeik szinkronizálását.