Pourquoi utiliser du multithreading ? Multithreading
1. Effectuer plusieurs traitements en parallèle
On utilise du multithreading lorsque les ressources matérielles le permettent. Ce cas est généralement rencontré dans le cadre d’applications avec des contraintes temps réel fortes, comme par exemple une IHM devant présenter des données venant de deux sources différentes évoluant rapidement.
2. Donner une meilleure expérience utilisateur
En Delphi, c’est le thread principal qui est utilisé pour rafraîchir le rendu graphique. Cependant, on peut rafraîchir ce rendu des composants graphiques de la VCL uniquement dans le thread principal.
Imaginons que l’utilisateur souhaite afficher des données issues d’une base de données très volumineuse ou le résultat d’un calcul algorithmique très coûteux. Le temps de réponse de l’application sera similaire au diagramme de séquence suivant qui représente une recherche dans une base de données :
Dans le diagramme ci-dessus sont représentés l’utilisateur (User), la fenêtre de l’application (TMainForm) et la base de données (Database).
L’effet d’attente lors de la recherche dans la base de données donnera lieu à un effet malheureusement assez connu des utilisateurs : un voile blanc sur l’application et le texte du bandeau de la fenêtre qui affiche...