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
- Multithreadprogrammierung für Komponenten mit "System.Threading"
Beschreibt die Verwendung des System.Threading-Namespaces, um Multithreadkomponenten zu erstellen.
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
Multithreadprogrammierung mit dem ereignisbasierten asynchronen Muster
Erläutert eine standardisierte Vorgehensweise, um eine Komponente mit asynchronen Features in ein Paket zu integrieren.Multithreading in Visual Basic
Enthält Hyperlinks zu verschiedenen Themen über die Verwendung von Multithreading mit Visual Basic.Empfohlene Vorgehensweise für das verwaltete Threading
Enthält Richtlinien zum Verwenden verwalteter Threadingfeatures.