Sobes.tech
Junior — Middle

Vysvetlite mechanizmus interakcie kľúčových prvkov async a await pri spracovaní korutín.

sobes.tech AI

Odpoveď od AI

V Kotlinu korutiny používajú kľúčové slová async a await na asynchrónne programovanie.

  • async spúšťa novú korutínu a vracia Deferred — odložený výsledok.
  • await sa volá na Deferred a pozastavuje vykonávanie aktuálnej korutíny, kým sa nezíska výsledok, bez blokovania vlákna.

Príklad:

val deferred = async {
    // Dlhá operácia
    fetchData()
}

val result = deferred.await() // Čakáme na výsledok asynchrónne

Týmto spôsobom async umožňuje spúšťanie úloh paralelne, a await umožňuje získať ich výsledky, zachovávajúc asynchrónnosť a neblokujúc hlavné vlákno.