La programmation asynchrone est une stratégie pour différer les opérations avec une latence élevée ou une faible priorité, généralement dans le but d'améliorer les performances, la réactivité et / ou la composabilité du logiciel. De telles stratégies sont généralement employées en utilisant une combinaison de programmation événementielle et de rappels, et en utilisant éventuellement la concurrence via des coroutines et / ou des threads.