Sdílet prostřednictvím


Technologiebeispiel für Threadpools

Aktualisiert: November 2007

In diesem Beispiel wird die Verwendung der ThreadPool-Klasse veranschaulicht. Ein asynchroner Methodenaufruf wird in eine Warteschlange gestellt und von einem Thread des durch die Common Language Runtime verwalteten Threadpools ausgeführt.

Weitere Informationen zur Verwendung der Beispiele finden Sie unter den folgenden Themen:

Download sample

So erstellen Sie das Beispiel mithilfe der Eingabeaufforderung

  1. Öffnen Sie ein Eingabeaufforderungsfenster, und navigieren Sie zu einem der sprachspezifischen Unterverzeichnisse für das Beispiel.

  2. Geben Sie in der Befehlszeile je nach verwendeter Programmiersprache msbuild PoolsCS.sln oder msbuild PoolsVB.sln ein.

So erstellen Sie das Beispiel mithilfe von Visual Studio

  1. Öffnen Sie Windows Explorer, und navigieren Sie zu einem der sprachspezifischen Unterverzeichnisse für das Beispiel.

  2. Doppelklicken Sie je nach verwendeter Programmiersprache auf das Symbol für PoolsCS.sln oder PoolsVB.sln, um die Datei in Visual Studio zu öffnen.

  3. Klicken Sie im Menü Erstellen auf Projektmappe erstellen.

So führen Sie das Beispiel aus

  1. Navigieren Sie mithilfe der Eingabeaufforderung zu dem Verzeichnis, das die erstellte ausführbare Datei enthält.

  2. Geben Sie in der Befehlszeile AsyncMethod.exe ein.

    Hinweis:

     In diesem Beispiel wird eine Konsolenanwendung erstellt. Sie müssen es über die Eingabeaufforderung starten, um die Ausgabe anzuzeigen.

Hinweise

In diesem Beispiel werden Warteschlangen verwendet, um asynchrone Methodenaufrufe zu verwalten. Die aufgerufene Methode führt einige Schritte aus und legt dann ein Ereignis fest, das anzeigt, dass der Vorgang beendet ist. Der Hauptthread wartet auf das Ereignis und wird dann beendet.

In der folgenden Aufzählung sind die in diesem Beispiel verwendeten Klassen und Technologien kurz beschrieben:

  • Threading

    • ThreadPool: Beim Schreiben von verwaltetem Code sollten Entwickler so oft wie möglich die QueueUserWorkItem-Methode verwenden, um asynchrone Methodenaufrufe zu implementieren. In diesem Beispiel wird eine einfache Verwendung dieses Typs für das Ausführen von asynchronem Verhalten veranschaulicht.
  • Threadsynchronisierung

    • AutoResetEvent – Der Hauptthread in diesem Beispiel wartet auf ein AutoResetEvent-Objekt, bis dieses durch die asynchrone Methode festgelegt wird. Die asynchrone Methode ruft die Set-Methode auf, wenn die Arbeitsschritte beendet sind.
  • Delegaten

    • WaitCallback – Wird verwendet, um eine typsichere Rückrufmethode für die zu verwendende ThreadPool-Klasse zu erstellen.

Weitere Informationen zur Threadsynchronisierung finden Sie in den Kommentaren der Quellcodedateien.

Siehe auch

Konzepte

Threads und Threading

Referenz

AutoResetEvent

Delegate

System.Threading

ThreadPool

ThreadStart

WaitCallback

Weitere Ressourcen

Threadingobjekte und -features