(0) exportieren Drucken
Alle erweitern

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.

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.

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

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft