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.