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)
}
}