Gewusst wie: Erstellen eines Threads mit Visual C#

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 815804 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Sie können in Microsoft Visual C# .NET oder in Microsoft Visual C# Multithread-Anwendungen schreiben. Dieser Artikel beschreibt, wie Sie eine einfache Visual C#-Anwendung erstellen und Threads verwalten können.

Anforderungen

Die folgende Liste führt die empfohlene Hardware, Software, Netzwerkinfrastruktur und Servicepacks, die Sie benötigen auf:
  • Microsoft Windows 2000, Microsoft Windows XP oder Microsoft Windows Server 2003
  • Microsoft Visual C# .NET oder Microsoft Visual C# 2005
In diesem Artikel wird davon ausgegangen, dass Sie mit folgenden Themen vertraut sind:
  • Visual C#-Programmierung
  • Visual Studio .NET Development Environment(IDE) oder Visual Studio 2005-IDE integriert

Erstellen Sie eine Visual C#-Anwendung mit threads

  1. Starten Sie Microsoft Visual Studio .NET, Microsoft Visual Studio 2005 oder Microsoft Visual C# 2005 Express Edition.
  2. Erstellen Sie ein neues Visual C# Windows-Anwendung Projectnamed "ThreadWinApp".
  3. Fügen Sie dem Formular ein Button-Steuerelement (Schaltfläche) hinzu Des Protokolls, heißt die Schaltfläche Button1.
  4. Fügen Sie dem Formular eine ProgressBar-Komponente (Statusleiste) hinzuStandardmäßig heißt die Statusanzeige ProgressBar1.
  5. Mit der rechten Maustaste in des Formulars, und klicken Sie dann auf ViewCode ab.
  6. Fügen Sie am Anfang der Datei die folgende Anweisung hinzu:
    using System.Threading;
  7. Fügen Sie den folgenden Click -Ereignishandler fürButton1hinzu:
    private void button1_Click(object sender, System.EventArgs e)
    {
    	MessageBox.Show("This is the main thread");
    }
  8. Fügen Sie die folgende Variable auf die Form1 Klasse:
    private Thread trd;
    
  9. Fügen Sie die folgende Methode, um die Form1 Klasse:
    private void ThreadTask()
    {
    	int stp;
    	int newval;
    	Random rnd=new Random();
    
    	while(true)
    	{
    		stp=this.progressBar1.Step*rnd.Next(-1,2);
    		newval = this.progressBar1.Value + stp;
    
    		if (newval > this.progressBar1.Maximum)
    			newval = this.progressBar1.Maximum;
    		else if (newval < this.progressBar1.Minimum)
    			newval = this.progressBar1.Minimum;
    		
    		this.progressBar1.Value = newval;
    
    		Thread.Sleep(100);
    	}
    }
    Hinweis Dies ist der Code, der dem Thread zugrunde liegt. Dieser Code ist Aninfinite-Schleife, die nach dem Zufallsprinzip erhöht oder verringert den Wert inProgressBar1und dann wartet 100 Millisekunden vor Itcontinues.
  10. Fügen Sie Folgendes hinzu Laden Ereignishandler für Form1. Dieser Code erstellt eine Newthread, macht diesen Thread zu einem Hintergrundthread und startet dann den Thread.
    private void Form1_Load(object sender, System.EventArgs e)
    {
    	Thread trd = new Thread(new ThreadStart(this.ThreadTask));
    	trd.IsBackground = true;
    	trd.Start();
    }

Stellen Sie sicher, dass es funktioniert

  1. Erstellen Sie und führen Sie die Anwendung. Beachten Sie, dass der Wert inProgressBar1 nach dem Zufallsprinzip geändert. Dies ist der neue Thread eröffnete.
  2. Um zu demonstrieren, dass der Hauptthread unabhängig von Thethread ist, die den Wert der ProgressBar1ändert, klicken Sie bitte auf dem Formular auf. Das Dialogfeld mit der folgenden Fehlermeldung wird angezeigt:
    This is the main thread
Warten Sie auf Input. Beachten Sie, dass der Wert in ProgressBar1 weiterhin ändern.

Problembehandlung bei

Stellen Sie in komplexeren Anwendungen sicher, dass mehrere Threads zu synchronisieren, wenn Sie gemeinsam genutzte Variablen zugreifen. Weitere Informationen finden Sie unter die Lock -Anweisung und Verwandte Themen in der Dokumentation zu Visual C# .NET erhalten.

Informationsquellen

Weitere Informationen finden Sie auf der folgenden Microsoft-Website oder der.NET Framework SDK-Dokumentation:
"Thread-Klasse"
http://msdn2.Microsoft.com/en-us/library/System.Threading.Thread (VS

Eigenschaften

Artikel-ID: 815804 - Geändert am: Samstag, 23. November 2013 - Version: 6.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# 2005 Express Edition
Keywords: 
kbnamespace kbthreadsync kbthread kbhowtomaster kbmt KB815804 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell übersetzt und wird dann möglicherweise mithilfe des Community Translation Framework (CTF) von Mitgliedern unserer Microsoft Community nachbearbeitet. Weitere Informationen zu CTF finden Sie unter http://support.microsoft.com/gp/machine-translation-corrections/de.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 815804
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