Sobes.tech
Junior — Middle

Aké sú rozdiely medzi synchronizovanými a asynchrónnymi volaniami v programovaní?

sobes.tech AI

Odpoveď od AI

Synchronné volania blokujú vykonávanie programu, kým operácia neskončí. To znamená, že nasledujúci kód sa nezačne vykonávať, kým aktuálne volanie nevráti výsledok. Na iOS to môže viesť k zablokovaniu hlavného vlákna a zamrznutiu rozhrania.

Asynchrónne volania umožňujú spúšťať operácie bez blokovania hlavného vlákna. Výsledok príde neskôr cez callbacky, closures alebo iné mechanizmy. To zlepšuje odozvu aplikácie, najmä pri práci so sieťami alebo dlhými úlohami.

Príklad asynchrónneho volania v Swift:

DispatchQueue.global().async {
    // Dlhá operácia
    let result = performHeavyTask()
    DispatchQueue.main.async {
        // Aktualizácia UI s výsledkom
        updateUI(with: result)
    }
}