La programmation asynchrone permet à un programme de lancer plusieurs tâches sans attendre que chacune de ces tâches soient terminées avant de passer à la suivante. Cette manière de programmer, quand les traitements à effectuer s'y prêtes, permet :
Pour bien comprendre les différences entre un traitement asynchrone et synchrone, regardons comment pourrait être traitée la fabrication d'un voiture.