Thème

Thread UI et traitements périodiques

Thème consacré au thread UI en WPF et WinForms, à async/await, au Dispatcher et au choix des minuteries dans les applications de bureau Windows.

Pourquoi ce sujet devient délicat

Dans les applications WPF et WinForms, les traitements asynchrones, les mises à jour de l’interface et les tâches périodiques finissent souvent par se mélanger, jusqu’à ce qu’on ne sache plus clairement quel code s’exécute sur quel thread. Ce thème regroupe les blocages, les mises à jour entre threads et le choix des minuteries dans un même ensemble pratique.

  • Il devient difficile de savoir sur quel contexte l’exécution reprend après await
  • Le travail de l’interface et celui de l’arrière-plan commencent à s’entremêler
  • DispatcherTimer, System.Threading.Timer et PeriodicTimer sont utilisés sans frontières explicites
  • Le code WinForms ou WPF devient progressivement plus difficile à maintenir

Questions courantes sur ce sujet

  • .Result ou .Wait() subsistent et bloquent l’interface
  • La frontière entre Task.Run et les mises à jour de l’interface n’est pas claire
  • Les traitements périodiques sont dispersés et dérivent ou se chevauchent
  • Il faut réduire le couplage au thread UI sans brouiller les responsabilités de l’écran

Direction typique

Ce domaine devient plus lisible lorsque le thread UI et les traitements périodiques sont organisés ensemble, au lieu d’être corrigés incident par incident. Les articles et services associés aident à décider si la prochaine étape relève de la conception, de l’implémentation ou des deux.

Contactez-nous

Si cette page correspond à votre situation, décrivez-nous le contexte actuel et le type d’aide dont vous avez besoin.

Retour à l’accueil