Aracılığıyla paylaş


İş parçacığı oluşturmak için Visual C# kullanma

Microsoft Visual C# .NET'te veya Visual C# uygulamasında çok iş parçacıklı uygulamalar yazabilirsiniz. Bu makalede basit bir Visual C# uygulamasının iş parçacıkları oluşturma ve yönetme işlemleri açıklanmaktadır.

Özgün ürün sürümü: Visual C#
Özgün KB numarası: 815804

Gereksinimler

Aşağıdaki listede ihtiyacınız olan önerilen donanım, yazılım, ağ altyapısı ve hizmet paketleri özetlenmiştir:

  • Windows veya Windows Server
  • Visual C# .NET veya Visual C#

Bu makalede, aşağıdaki konulara aşina olduğunuz varsayılır:

  • Visual C# programlama
  • Visual Studio .NET Tümleşik Geliştirme Ortamı (IDE) veya Visual Studio IDE

Bu makale .NET Framework Sınıf Kitaplığı ad alanına System.Threadingbaşvurur.

İş parçacıklarıyla Visual C# uygulaması oluşturma

  1. Visual Studio .NET, Visual Studio veya Visual C# Express Edition'ı başlatın.

  2. ThreadWinApp adlı yeni bir Visual C# Windows Uygulaması projesi oluşturun.

  3. Forma düğme denetimi ekleyin. Varsayılan olarak düğmeNin adı Düğme1'dir.

  4. Forma progressbar bileşeni ekleyin. Varsayılan olarak, ilerleme çubuğu ProgressBar1 olarak adlandırılır.

  5. Forma sağ tıklayın ve ardından Kodu Görüntüle'ye tıklayın.

  6. Dosyanın başına aşağıdaki deyimi ekleyin:

    using System.Threading;
    
  7. Button1 için aşağıdaki button1_Click olay işleyicisini ekleyin:

    private void button1_Click(object sender, System.EventArgs e)
    {
        MessageBox.Show("This is the main thread");
    }
    
  8. Sınıfına Form1 aşağıdaki değişkeni ekleyin:

    private Thread trd;
    
  9. Form1 sınıfına aşağıdaki yöntemi ekleyin:

    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ığının altında yer alan koddur. Bu kod, ProgressBar1 içindeki değeri rastgele artıran veya azalan sonsuz bir döngüdür ve devam etmeden önce 100 milisaniye bekler.

  10. Form1 için aşağıdaki Form1_Load olay işleyicisini ekleyin. Bu kod yeni bir iş parçacığı oluşturur, iş parçacığını arka plan iş parçacığı yapar ve sonra iş parçacığını başlatır.

    private void Form1_Load(object sender, System.EventArgs e)
    {
        Thread trd = new Thread(new ThreadStart(this.ThreadTask));
        trd.IsBackground = true;
        trd.Start();
    }
    

Çalıştığını doğrulayın

  1. Uygulamayı derleyin ve çalıştırın. ProgressBar1 içindeki değerin rastgele değiştiğine dikkat edin. Bu işlemdeki yeni iş parçacığıdır.

  2. Ana iş parçacığının ProgressBar1 değerini değiştiren iş parçacığından bağımsız olduğunu göstermek için formdaki düğmeye tıklayın. Aşağıdaki hata iletisini içeren bir iletişim kutusu alırsınız:

    Bu ana iş parçacığıdır

Girişi bekleyin. ProgressBar1 içindeki değerin değiştirildiğini unutmayın.

Sorun giderme

Daha karmaşık uygulamalarda, paylaşılan değişkenlere erişirken birden çok iş parçacığını eşitlediğinizden emin olun. Daha fazla bilgi için Visual C# .NET çevrimiçi yardım belgelerindeki kilit deyimine ve ilgili konulara bakın.

Başvurular

Daha fazla bilgi için bkz . İş Parçacığı Sınıfı.