Sobes.tech
Junior — Middle

Quais são as diferenças entre chamadas síncronas e assíncronas na programação?

sobes.tech IA

Resposta da IA

Chamadas síncronas bloqueiam a execução do programa até que a operação seja concluída. Isso significa que o código seguinte não começará a ser executado até que a chamada atual retorne um resultado. No iOS, isso pode levar ao bloqueio do thread principal e à congelamento da interface.

Chamadas assíncronas permitem iniciar operações sem bloquear o thread principal. O resultado chega mais tarde através de callbacks, closures ou outros mecanismos. Isso melhora a responsividade do aplicativo, especialmente ao trabalhar com rede ou tarefas longas.

Exemplo de chamada assíncrona em Swift:

DispatchQueue.global().async {
    // Operação longa
    let result = performHeavyTask()
    DispatchQueue.main.async {
        // Atualização da UI com o resultado
        updateUI(with: result)
    }
}