Visual C# kullanarak bir iş parçacığı oluşturma hakkında

Makale çevirileri Makale çevirileri
Makale numarası: 815804 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Çok iş parçacıklı yazabilirsiniz Microsoft Visual C# .NET veya Microsoft Visual C# uygulamaları. Bu makalede, basit bir Visual C# uygulamasına nasıl açıklanır. oluşturabilir ve iş parçacıkları yönetebilirsiniz.

Gereksinimleri

Aşağıdaki listede önerilen donanım, yazılım önerilmektedir, ağ altyapısı ve gereken hizmet paketleri:
  • Microsoft Windows 2000, Microsoft Windows xp veya Microsoft Windows Server 2003
  • Microsoft Visual C# .NET veya Microsoft Visual C# 2005
Bu makalede, aşağıdaki bilgi sahibi olduğunuzu varsayar Konular:
  • Visual C# programlama
  • Visual Studio .NET tümleşik geliştirme ortamı (IDE) veya Visual Studio 2005 IDE

Bir Visual C# uygulaması ile iş parçacıkları oluşturma

  1. Microsoft Visual Studio .NET, Microsoft Visual Studio 2005 veya Microsoft Visual C# 2005 Express Edition'ı başlatın.
  2. Yeni bir Visual C# Windows Application projesi oluşturun Adlandırılmış ThreadWinApp.
  3. Ekle bir Düğme Forma denetim. Tarafından Varsayılan olarak, düğme olarak adlandırılır Button1.
  4. Ekle bir ProgressBar Form bileşeni. Varsayılan olarak, ilerleme çubuğu olarak adlandırılır ProgressBar1.
  5. Formu sağ tıklatın ve sonra tıklatın Görünüm Kod.
  6. Dosyanın başlangıcına kadar aşağıdaki ifadeyi ekleyin:
    using System.Threading;
  7. Aşağıdakini ekleyin ' I tıklatın olay işleyicisiButton1:
    private void button1_Click(object sender, System.EventArgs e)
    {
    	MessageBox.Show("This is the main thread");
    }
  8. Aşağıdaki değişkenine ekleyin Form1 sınıf:
    private Thread trd;
    
  9. Aşağıdaki yöntemi ekleyin. Form1 sınıf:
    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);
    	}
    }
    Not Bu iş parçacığı altını çizen kodudur. Bu kodu bir Sonsuz döngü, rasgele artırır veya azaltır değeriProgressBar1, ve sonra onu önce 100 milisaniye bekler devam eder.
  10. Aşağıdakini ekleyin Yük olay işleyicisi Form1. Bu kod, yeni bir oluşturur iş parçacığı, bir arka plan iş parçacığı iş parçacığı yapar ve daha sonra iş parçacığı başlar.
    private void Form1_Load(object sender, System.EventArgs e)
    {
    	Thread trd = new Thread(new ThreadStart(this.ThreadTask));
    	trd.IsBackground = true;
    	trd.Start();
    }

Çalışıp çalışmadığını doğrulayın.

  1. Yapı ve uygulamayı çalıştırın. Dikkat değerProgressBar1 rasgele değiştirir. Bu yeni iş parçacığı işlem.
  2. Ana iş parçacığı bağımsız olarak göstermek için iş parçacığı değerini değiştirir ProgressBar1,'ı tıklatın form üzerindeki düğme. Bir iletişim kutusu aşağıdaki hata iletisini alırsınız:
    This is the main thread
Giriş için bekleyin. Dikkat değer ProgressBar1 değiştirmeye devam eder.

Sorun giderme

Daha karmaşık uygulamalarda, eşitlediğinizden emin olun. bir paylaşılan değişkenler eriştiğinizde, birden çok iş parçacığı. Daha fazla bilgi için bkz: , kilit ifade ve Visual C# .NET'te ilgili konular Çevrimiçi Yardım belgelerine.

Referanslar

Daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin. veya .NET Framework sdk belgeleri:
"İş parçacığı Class"
http://msdn2.microsoft.com/en-us/library/System.Threading.Thread (vs.71) .aspx

Özellikler

Makale numarası: 815804 - Last Review: 16 Aralık 2012 Pazar - Gözden geçirme: 4.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# 2005 Express Edition
Anahtar Kelimeler: 
kbnamespace kbthreadsync kbthread kbhowtomaster kbmt KB815804 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir: 815804

Geri Bildirim Ver

 

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