Cara membuat sebuah thread dengan menggunakan Visual C#

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 815804 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Anda dapat menulis multithreaded aplikasi di Microsoft Visual C#.NET atau dalam Microsoft Visual C#. Artikel ini menjelaskan bagaimana aplikasi yang sederhana Visual C# dapat membuat dan mengelola benang.

Persyaratan

Daftar berikut menguraikan fitur perangkat keras, perangkat lunak, jaringan infrastruktur, dan paket layanan yang Anda butuhkan:
  • Microsoft Windows 2000, Microsoft Windows XP, atau Microsoft Windows Server 2003
  • Microsoft Visual C#.NET atau Microsoft Visual C# 2005
Artikel ini mengasumsikan bahwa Anda sudah familiar dengan berikut topik:
  • Pemrograman Visual C#
  • Visual Studio.Lingkungan pengembangan terintegrasi bersih (IDE) atau Visual Studio 2005 IDE

Menciptakan sebuah Visual C# aplikasi dengan benang

  1. Mulai Microsoft Visual Studio.NET, Microsoft Visual Studio 2005, atau Microsoft Visual C# 2005 Express Edition.
  2. Membuat proyek Visual C# Windows aplikasi baru bernama ThreadWinApp.
  3. Tambahkan Tombol mengendalikan ke bentuk. Oleh default, tombol bernama Button1.
  4. Tambahkan ProgressBar komponen untuk bentuk. Secara default, progress bar bernama ProgressBar1.
  5. Klik kanan bentuk, dan kemudian klik Lihat Kode.
  6. Tambahkan pernyataan berikut untuk permulaan file:
    using System.Threading;
  7. Tambahkan berikut Klik event handler untukButton1:
    private void button1_Click(object sender, System.EventArgs e)
    {
    	MessageBox.Show("This is the main thread");
    }
  8. Menambahkan variabel berikut untuk Form1 kelas:
    private Thread trd;
    
  9. Menambahkan metode berikut untuk Form1 kelas:
    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);
    	}
    }
    Catatan Ini adalah kode yang mendasari benang. Kode ini adalah Infinite loop itu secara acak bertahap atau decrements nilai dalamProgressBar1, dan kemudian menunggu 100 milidetik sebelum terus.
  10. Tambahkan berikut Beban event handler untuk Form1. Kode ini menciptakan baru benang, membuat kain kirmizi latar belakang, dan kemudian mulai thread.
    private void Form1_Load(object sender, System.EventArgs e)
    {
    	Thread trd = new Thread(new ThreadStart(this.ThreadTask));
    	trd.IsBackground = true;
    	trd.Start();
    }

Memverifikasi bahwa ia bekerja

  1. Membangun dan menjalankan aplikasi. Perhatikan bahwa nilai dalamProgressBar1 perubahan secara acak. Ini adalah thread baru di operasi.
  2. Untuk menunjukkan bahwa benang utama independen dari Thread yang perubahan nilai ProgressBar1, klik tombol pada formulir. Anda menerima sebuah kotak dialog dengan pesan galat berikut:
    This is the main thread
Menunggu untuk masukan. Perhatikan bahwa nilai dalam ProgressBar1 terus berubah.

Mengatasi masalah

Dalam aplikasi yang lebih kompleks, pastikan bahwa Anda menyinkronkan beberapa benang ketika Anda mengakses variabel bersama. Untuk informasi lebih lanjut, lihat The kunci pernyataan dan topik terkait dalam Visual C#.NET Dokumentasi Bantuan online.

REFERENSI

Untuk informasi lebih lanjut, kunjungi Website Microsoft berikut atau.NET Framework SDK dokumentasi:
"Thread Kelas"
.aspx http://msdn2.Microsoft.com/en-us/library/System.threading.thread (vs.71)

Properti

ID Artikel: 815804 - Kajian Terakhir: 04 Oktober 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# 2005 Express Edition
Kata kunci: 
kbnamespace kbthreadsync kbthread kbhowtomaster kbmt KB815804 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:815804

Berikan Masukan

 

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