Sie sind zurzeit offline. Es wird auf die erneute Herstellung einer Internetverbindung gewartet.

SO WIRD´S GEMACHT: Erstellen eines Threads mit Visual Basic .NET

Dieser Artikel wurde zuvor veröffentlicht unter D315577
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
315577 HOW TO: Create a Thread Using Visual Basic .NET
Hinweis: Die Verwendung der hier aufgeführten Informationen sowie Makro- oder Programmcodes geschieht auf Ihre eigene Verantwortung. Microsoft stellt Ihnen diese Informationen sowie Makro- und Programmlistings ohne Gewähr auf Richtigkeit, Vollständigkeit und/oder Funktionalität sowie ohne Anspruch auf Support zur Verfügung. Die zur Verfügung gestellten Makro- und Programmierungsbeispiele sollen lediglich exemplarisch die Funktionsweise des Beispiels aufzeigen.

Weitere Informationen zu den von Microsoft angebotenen Supportoptionen finden Sie unter folgender Internetadresse:
Zusammenfassung
In Visual Studio .NET können Sie Multithread-Anwendungen schreiben. Dieser Artikel veranschaulicht, wie Sie mit einer einfachen Visual Basic .NET-Anwendung Threads erstellen und verwalten können.

Zurück zum Anfang

Voraussetzungen

Der folgenden Liste entnehmen Sie bitte die empfohlene Hardware, Software und Netzwerkinfrastruktur sowie die benötigten Service Packs:
  • Microsoft Windows 2000 oder Microsoft Windows XP
  • Microsoft Visual Basic .NET
In diesem Artikel wird vorausgesetzt, dass Sie über Erfahrungen auf den folgenden Gebieten verfügen:
  • Visual Basic .NET-Programmierung
  • Visual Studio .NET-IDE (IDE = Integrated Development Environment)
Zurück zum Anfang

Erstellen einer Visual Basic .NET-Anwendung mit Threads

  1. Starten Sie "Microsoft Visual Studio .NET".
  2. Erstellen Sie in Visual Basic ein neues Windows-Anwendungsprojekt mit dem Namen "ThreadWinApp".
  3. Fügen Sie dem Formular ein Button-Steuerelement hinzu. Die Schaltfläche erhält standardmäßig den Namen Button1.
  4. Fügen Sie dem Formular eine ProgressBar-Komponente hinzu. Die Statusleiste erhält standardmäßig den Namen ProgressBar1.
  5. Klicken Sie mit der rechten Maustaste auf das Formular, und klicken Sie danach auf Code anzeigen.
  6. Fügen Sie am Anfang der Datei die folgende Anweisung ein:
    Imports System.Threading
  7. Fügen Sie den folgenden Click-Ereignishandler für Button1 hinzu:
    Private Sub Button1_Click( _    ByVal sender As System.Object, ByVal e As System.EventArgs) _    Handles Button1.Click    MessageBox.Show("This is the main thread")End Sub
  8. Fügen Sie der Klasse Form1 die folgende Variable hinzu:
    Private trd As Thread
  9. Fügen Sie der Klasse Form1 die folgende Methode hinzu:
    Private Sub ThreadTask()    Dim stp As Integer    Dim newval As Integer    Dim rnd As New Random()    Do        stp = ProgressBar1.Step * rnd.Next(-1, 2)        newval = ProgressBar1.Value + stp        If newval > ProgressBar1.Maximum Then            newval = ProgressBar1.Maximum        ElseIf newval < ProgressBar1.Minimum Then            newval = ProgressBar1.Minimum        End If        ProgressBar1.Value = newval        Thread.Sleep(100)    LoopEnd Sub
    Anmerkung: Dies ist der Code, der dem Thread zugrunde liegt. Dieser Code ist eine Endlosschleife, durch die der Wert in ProgressBar1 nach dem Zufallsprinzip erhöht oder vermindert und dann vor der Fortsetzung 100 Millisekunden gewartet wird.
  10. Fügen Sie den folgenden Load-Ereignishandler für Form1 hinzu: Dieser Code erstellt einen neuen Thread, macht diesen Thread zu einem Hintergrundthread und startet ihn dann.
    Private Sub Form1_Load( _    ByVal sender As System.Object, ByVal e As System.EventArgs) _    Handles MyBase.Load    trd = New Thread(AddressOf ThreadTask)    trd.IsBackground = True    trd.Start()End Sub
Zurück zum Anfang

Funktionsprüfung

  1. Erstellen Sie die Anwendung und führen Sie sie aus. Dass der neue Thread in Funktion ist können Sie daran erkennen, dass sich der Wert in der Statusleiste willkürlich ändert.
  2. Klicken Sie die Schaltfläche auf dem Formular an, um zu demonstrieren, dass der Hauptthread unabhängig von dem Thread ist, der den Wert in ProgressBar ändert. In einem Meldungsfeld wird die folgende Fehlermeldung angezeigt:
    This is the main thread
    Warten Sie auf Input. Beachten Sie bitte, dass sich der Wert in der Statusleiste weiterhin verändert.
Zurück zum Anfang

Problembehandlung

Wenn Sie in komplexeren Anwendungen auf gemeinsam genutzte Variablen zugreifen, stellen Sie bitte sicher, dass Sie die Threads synchronisieren. Weitere Informationen finden Sie in der Visual Basic-Onlinehilfe unter SyncLock und ähnlichen Themen.

Zurück zum Anfang
multi-threaded multithread
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Eigenschaften

Artikelnummer: 315577 – Letzte Überarbeitung: 09/10/2003 12:14:00 – Revision: 1.0

Microsoft Visual Basic .NET 2002 Standard Edition

  • kbhowto kbhowtomaster KB315577
Feedback
var varAutoFirePV = 1; var varClickTracking = 1; var varCustomerTracking = 1; var Route = "76500"; var Ctrl = ""; document.write("