Threading (C#-Programmierhandbuch)
Aktualisiert: November 2007
Mit Threading können Sie in einem C#-Programm mehrere Verarbeitungsschritte gleichzeitig ausführen, sodass Sie jeweils mehr als eine Operation ausführen können. Sie können Threading zum Beispiel verwenden, um Benutzereingaben zu überwachen, Hintergrundtasks zu starten und gleichzeitige Eingabestreams zu behandeln. Der System.Threading-Namespace stellt Klassen und Schnittstellen bereit, die die Programmierung mit mehreren Threads unterstützen und Aufgaben wie das Erstellen und Starten neuer Threads, die Synchronisierung mehrerer Threads sowie das Anhalten und das Abbrechen von Threads vereinfachen.
Um Threading in den C#-Code aufzunehmen, erstellen Sie eine Funktion, die außerhalb des Hauptthreads ausgeführt wird, und zeigen Sie mit einem neuen Thread-Objekt darauf. Im folgenden Codebeispiel wird in einer C#-Anwendung ein neuer Thread erstellt:
System.Threading.Thread newThread;
newThread = new System.Threading.Thread(anObject.AMethod);
Im folgenden Codebeispiel wird in einer C#-Anwendung ein neuer Thread gestartet:
newThread.Start();
Multithreading löst einerseits Probleme mit der Reaktionsgeschwindigkeit und dem Multitasking, kann andererseits aber auch Probleme mit der gemeinsamen Nutzung und Synchronisierung von Ressourcen hervorrufen, da Threads entsprechend einem zentralen Thread, der den Mechanismus plant, ohne Vorwarnung unterbrochen und fortgesetzt werden. Weitere Informationen finden Sie unter Threadsynchronisierung (C#-Programmierhandbuch). Eine Übersicht erhalten Sie unter Verwenden von Threads und Threading.
Übersicht
Threads verfügen über folgende Eigenschaften:
Threads ermöglichen die gleichzeitige Ausführung mehrerer Verarbeitungsschritte in einem C#-Programm.
Der System.Threading-Namespace von .NET Framework vereinfacht die Verwendung von Threads erheblich.
Threads nutzen die Ressourcen einer Anwendung gemeinsam. Weitere Informationen finden Sie unter Verwenden von Threads und Threading.
Verwandte Abschnitte
Weitere Informationen finden Sie unter den folgenden Themen:
Gewusst wie: Erstellen und Beenden von Threads (C#-Programmierhandbuch)
Gewusst wie: Verwenden von Threadpools (C#-Programmierhandbuch)
Gewusst wie: Synchronisieren eines Producer- und Consumerthreads (C#-Programmierhandbuch)
C#-Programmiersprachenspezifikation
Weitere Informationen finden Sie in den folgenden Abschnitten von C#-Programmiersprachenspezifikation:
3.10 Ausführungsreihenfolge
8.12 Die lock-Anweisung
10.5.3 Flüchtige Felder
10.8.1 Feldähnliche Ereignisse
Siehe auch
Aufgaben
Technologiebeispiel für Monitor-Synchronisierung
Technologiebeispiel für Wait-Synchronisierung
Konzepte
Referenz
Delegaten (C#-Programmierhandbuch)