Freigeben über


Multithreading in Komponenten

Aktualisiert: November 2007

Die BackgroundWorker-Komponente implementiert einige der Threadingfeatures im System.Threading-Namespace; die BackgroundWorker-Komponente ist das einfachere Verfahren zum Implementieren von Multithreadingfunktionen. Weitere Informationen finden Sie unter Übersicht über die BackgroundWorker-Komponente.

Multithreading oder freies Threading bezieht sich auf die Fähigkeit einer Anwendung, mehrere Ausführungsthreads gleichzeitig zu verwenden. Bei einer Multithreadanwendung handelt es sich beispielsweise um ein Programm, das in einem Thread Benutzereingaben empfängt, in einem zweiten Thread eine Reihe von komplexen Berechnungen ausführt und in einem dritten Thread eine Datenbank aktualisiert. Bei einer Singlethreadanwendung verbringt der Benutzer u. U. nutzlose Zeit mit dem Warten, bis die Berechnungen oder Datenbankaktualisierungen beendet sind. In einer Multithreadanwendung laufen diese Prozesse im Hintergrund ab, sodass der Benutzer keine Zeit verliert.

Multithreading kann sich als ein sehr leistungsstarkes Tool für die Komponentenprogrammierung erweisen. Indem Sie Multithreadkomponenten programmieren, können Sie Komponenten erstellen, die komplexe Berechnungen im Hintergrund ausführen, während die Benutzeroberfläche weiterhin auf Benutzereingaben reagiert.

Auch wenn Multithreading ein leistungsfähiges Tool ist, ist seine korrekte Anwendung u. U. recht schwierig. Nicht korrekt implementierter Multithreadcode kann die Anwendungsleistung vermindern oder sogar eingefrorene Anwendungen verursachen. Die folgenden Themen machen Sie mit einigen Besonderheiten sowie den empfohlenen Vorgehensweisen für die Multithreadprogrammierung vertraut.

.NET Framework bietet mehrere Optionen für das Multithreading in Komponenten. Die Funktionalität im System.Threading-Namespace stellt eine Option dar. Das ereignisbasierte asynchrone Muster ist eine weitere Option. In der BackgroundWorker-Komponente ist das asynchrone Muster implementiert. Um die Bedienungsfreundlichkeit zu erhöhen, ist die erweiterte Funktionalität in einer Komponente gekapselt.

In diesem Abschnitt

Referenz

  • BackgroundWorker-Klasse
    Ermöglicht Ihnen die Ausführung eines Vorgangs in einem separaten, zugeordneten Thread.

  • Thread
    Enthält Informationen zur Syntax und zu Membern aus der .NET Framework-Referenz.

Verwandte Abschnitte

Siehe auch

Weitere Ressourcen

Erstellen von Komponenten

Entwurfsmuster für die asynchrone Programmierung