Multithreading dans les composants

Mise à jour : novembre 2007

Le composant BackgroundWorker implémente certaines fonctionnalités de threading dans l'espace de noms System.Threading et représente une méthode plus facile pour implémenter les fonctionnalités de multithreading. Pour plus d'informations, consultez Vue d'ensemble du composant BackgroundWorker.

Le multithreading, ou traitement dissocié des threads, consiste en la capacité d'une application d'exécuter simultanément plusieurs threads d'opération. Par exemple, une application multithread peut être un programme qui reçoit des entrées d'utilisateur sur un thread, exécute différents calculs sur un deuxième thread et met à jour une base de données sur un troisième thread. Dans une application à un seul thread, un utilisateur peut perdre un temps précieux à attendre l'exécution de calculs ou de la mise à jour d'une base de données. Dans une application multithread, ces processus peuvent être exécutés en arrière-plan, afin que l'utilisateur ne perde pas de temps.

Le multithreading peut être un outil puissant dans la programmation de composants. L'écriture de composants multithread vous permet de créer des composants capables d'exécuter des calculs complexes en arrière-plan tout en permettant à l'interface utilisateur de répondre aux entrées d'utilisateur.

Bien que le multithreading puisse représenter un outil puissant, son application peut parfois s'avérer difficile. L'implémentation incorrecte de code multithread peut réduire les performances des applications, voire geler des applications. Les rubriques suivantes vous présentent certaines considérations et meilleures pratiques relatives à la programmation multithread.

Le .NET Framework offre plusieurs options pour le multithreading dans les composants. La fonctionnalité dans l'espace de noms System.Threading est une option. Le modèle asynchrone basé sur événement en est une autre. Le composant BackgroundWorker est une implémentation du modèle asynchrone; il vous procure cette fonctionnalité avancée encapsulée dans un composant pour plus de facilité d'utilisation.

Dans cette section

Référence

  • Classe BackgroundWorker
    Vous permet d'exécuter une opération sur un thread séparé, dédié.

  • Thread
    Fournit des informations sur la syntaxe et les membres d'une référence .NET Framework.

Rubriques connexes

Voir aussi

Autres ressources

Création de composants

Modèles de conception pour la programmation asynchrone