Sobes.tech
Junior — Middle

Jaké jsou rozdíly mezi synchronními a asynchronními voláními v programování?

sobes.tech AI

Odpověď od AI

Synchronní volání blokují provádění programu, dokud operace neskončí. To znamená, že následující kód nezačne být vykonáván, dokud aktuální volání nevrátí výsledek. Na iOS to může vést k zablokování hlavního vlákna a zamrznutí rozhraní.

Asynchronní volání umožňují spouštět operace bez blokování hlavního vlákna. Výsledek přijde později přes callbacky, closure nebo jiné mechanismy. To zlepšuje odezvu aplikace, zejména při práci se sítí nebo dlouhými úkoly.

Příklad asynchronního volání ve Swift:

DispatchQueue.global().async {
    // Dlouhá operace
    let result = performHeavyTask()
    DispatchQueue.main.async {
        // Aktualizace UI s výsledkem
        updateUI(with: result)
    }
}