İş 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.
Orijinal ü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 konular hakkında bilgi sahibi 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ını System.Threading
ifade eder.
İş parçacıklarıyla Visual C# uygulaması oluşturma
Visual Studio .NET, Visual Studio veya Visual C# Express Edition'ı başlatın.
ThreadWinApp adlı yeni bir Visual C# Windows Uygulaması projesi oluşturun.
Forma Bir Düğme denetimi ekleyin. Varsayılan olarak düğmeNin adı Button1'dir.
Forma bir ProgressBar bileşeni ekleyin. Varsayılan olarak, ilerleme çubuğu ProgressBar1 olarak adlandırılır.
Forma sağ tıklayın ve ardından Kodu Görüntüle'ye tıklayın.
Dosyanın başına aşağıdaki deyimi ekleyin:
using System.Threading;
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"); }
Sınıfına aşağıdaki değişkeni
Form1
ekleyin:private Thread trd;
Sınıfına
Form1
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ındaki koddur. Bu kod, ProgressBar1'deki değeri rastgele artıran veya azalan bir sonsuz döngüdür ve devam etmeden önce 100 milisaniye bekler.
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 ardından 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
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.
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. ProgressBar1continu içindeki değerin değiştirildiğini fark edin.
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ı.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin