Beispiel für Multithreading

Aktualisiert: November 2007

Diese Projektmappe zeigt, wie mehrere Threads verwendet werden, um Parallelität bei Aufgaben zu erreichen.

So erhalten Sie Beispiele und Anweisungen zu ihrer Installation

  • Führen Sie eine oder mehrere der folgenden Aktionen aus:

    • Klicken Sie im Menü Hilfe auf Samplings.

      In der Infodatei befinden sich Informationen zu Beispielen.

    • Gehen Sie zur Website mit Visual Studio 2008-Beispielen. Hier stehen die aktuellsten Versionen der Beispiele bereit.

    • Suchen Sie Beispiele auf dem Computer, auf dem Visual Studio installiert wurde. Standardmäßig werden Beispiele und eine Infodatei unter Laufwerk:\Programme\Microsoft Visual Studio 9.0\Beispiele\lcid installiert. Für die Express-Version von Visual Studio werden alle Beispiele online bereitgestellt.

Weitere Informationen finden Sie unter Suchen von Beispieldateien.

Sicherheitshinweis:

Dieser Beispielcode soll lediglich ein Konzept veranschaulichen. Es wird nur der für das jeweilige Konzept relevante Code dargestellt. Möglicherweise erfüllt dieser nicht die Sicherheitsanforderungen für eine bestimmte Umgebung, und er sollte nicht genau wie dargestellt verwendet werden. Wir empfehlen, Sicherheits- und Fehlerbehandlungscode hinzuzufügen, um Ihre Projekte sicherer und stabiler zu machen. Microsoft stellt diesen Beispielcode "wie besehen" und ohne Garantien zur Verfügung.

So führen Sie dieses Beispiel aus

  • Drücken Sie F5.

Veranschaulicht

In diesem Beispiel wird eine zeitaufwändige Aufgabe in einem separaten Thread ausgeführt. Sie wird durch Klicken auf eine Schaltfläche gestartet:

  • Run on same thread Die Aufgabe wird auf dem gleichen Thread wie das Hauptformular ausgeführt. Dadurch kann der Benutzer erst mit dem Hauptformular interagieren, wenn die Aufgabe beendet ist. Für diese Aufgabe ist kein Multithreadingcode erforderlich.

  • Run on worker pool thread Die Aufgabe verwendet die vom Compiler erstellte BeginInvoke-Methode für alle Delegaten, die die Aufgabe ausführen sollen.

  • Background worker Diese Aufgabe verwendet die BackgroundWorker-Komponente, um einen neuen Thread zu erstellen.

In diesem Beispiel wird keine Synchronisierung durchgeführt, weil die Threads nicht auf Daten zugreifen.

Siehe auch

Konzepte

Übersicht über die asynchrone Programmierung

Referenz

Delegate-Anweisung

DebuggerStepThroughAttribute

AppDomain.GetCurrentThreadId

Thread

Weitere Ressourcen

Asynchrone Programmierung mithilfe von Delegaten