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

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 315577 - Produkte anzeigen, auf die sich dieser Artikel bezieht
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:
http://support.microsoft.com/
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.
Alles erweitern | Alles schließen

Auf dieser Seite

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.

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)

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)
        Loop
    End 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

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.

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.

Eigenschaften

Artikel-ID: 315577 - Geändert am: Mittwoch, 10. September 2003 - Version: 1.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Visual Basic .NET 2002 Standard Edition
Keywords: 
kbhowto kbhowtomaster KB315577
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com