Junior — Middle
Quelles sont les différences entre les appels synchrones et asynchrones en programmation?
sobes.tech IA
Réponse de l'IA
Les appels synchrones bloquent l'exécution du programme jusqu'à ce que l'opération soit terminée. Cela signifie que le code suivant ne commencera pas à s'exécuter tant que l'appel en cours n'aura pas renvoyé un résultat. Sur iOS, cela peut entraîner le blocage du thread principal et le gel de l'interface.
Les appels asynchrones permettent de lancer des opérations sans bloquer le thread principal. Le résultat arrive plus tard via des callbacks, des closures ou d'autres mécanismes. Cela améliore la réactivité de l'application, notamment lors de la gestion du réseau ou de tâches longues.
Exemple d'appel asynchrone en Swift:
DispatchQueue.global().async {
// Opération longue
let result = performHeavyTask()
DispatchQueue.main.async {
// Mise à jour de l'UI avec le résultat
updateUI(with: result)
}
}