Programmation asynchrone
Attendre un résultat sans bloquer pour autant l’ensemble du traitement prévu.
Qu’est-ce que la programmation asynchrone ?
La programmation asynchrone permet de lancer une tâche et de traiter son résultat plus tard. Pendant des phases d’attente adaptées, le programme peut traiter d’autres événements. L’accès réseau est un usage courant. Cela n’implique ni exécution parallèle automatique ni accélération générale de toute opération. Un calcul lourd exécuté de façon synchrone peut toujours bloquer son flux.
Dans un portail fictif, un téléversement de document démarre. Pendant le transfert, l’interface peut rester réactive et montrer la progression. Seule une confirmation appropriée permet d’annoncer le document enregistré. Erreurs, annulation et réponses tardives nécessitent des états propres. Une fonction qui rend vite la main ou une interface réactive ne prouve donc pas encore la réussite du transfert.
Sources
Termes associés
- ParallélismeExécuter réellement plusieurs calculs au même moment.
- Concurrence en programmationOrganiser plusieurs tâches pour que leurs périodes de traitement puissent se chevaucher.
- Gestion des erreursDéfinir comment un programme traite les erreurs détectées et y répond de façon adaptée.
- Cache stampedeUn cache stampede survient quand plusieurs requêtes manquent la même entrée en cache et relancent le même calcul coûteux.
- BackpressureLa backpressure adapte le débit entrant à la capacité de traitement du destinataire grâce à un signal de ralentissement ou de pause.
- Condition de concurrenceUn résultat erroné dépend de l’ordre chronologique d’accès simultanés qui se chevauchent.
Votre projet avec ASES
Décrivez-nous votre projet. Nous revenons vers vous avec une première évaluation.