Sobes.tech
Junior — Middle

¿Cuáles son las diferencias entre llamadas síncronas y asíncronas en programación?

sobes.tech AI

Respuesta de la IA

Las llamadas sincrónicas bloquean la ejecución del programa hasta que la operación finaliza. Esto significa que el siguiente código no comenzará a ejecutarse hasta que la llamada actual devuelva un resultado. En iOS, esto puede provocar que el hilo principal se bloquee y que la interfaz se congele.

Las llamadas asíncronas permiten iniciar operaciones sin bloquear el hilo principal. El resultado llega más tarde a través de callbacks, closures u otros mecanismos. Esto mejora la capacidad de respuesta de la aplicación, especialmente al trabajar con redes o tareas prolongadas.

Ejemplo de una llamada asíncrona en Swift:

DispatchQueue.global().async {
    // Operación larga
    let result = performHeavyTask()
    DispatchQueue.main.async {
        // Actualización de la interfaz con el resultado
        updateUI(with: result)
    }
}