Cara membuat thread dalam Visual Basic .NET atau Visual Basic 2005

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

Pada Halaman ini

Ringkasan

Artikel ini menjelaskan cara membuat thread dalam aplikasi Microsoft Visual Basic .NET atau Microsoft Visual Basic Windows 2005. System.Threading namespace menyediakan kelas-kelas yang harus Anda miliki untuk bekerja dengan benang.

Persyaratan

Daftar berikut ini menguraikan fitur peranti penangkap keras, peranti penangkap lunak, jaringan infrastruktur, dan Service Pack yang Anda butuhkan:
  • Microsoft Windows 2000 atau Microsoft Windows XP
  • Microsoft Visual Basic .NET atau Microsoft Visual Basic 2005
Artikel ini mengasumsikan bahwa Anda sudah familiar dengan berikut topik:
  • Pemrograman Visual Basic .NET atau pemrograman Visual Basic 2005
  • Visual Studio .NET atau Visual Studio 2005 lingkungan pengembangan terpadu (IDE)
  • Umum keakraban dengan delegasi dan threading
  • Umum keakraban dengan Visual Basic .NET atau Visual Basic 2005

Membuat aplikasi Visual Basic .NET atau Visual Basic 2005 dengan benang

  1. Memulai Microsoft Visual Studio .NET atau Microsoft Visual Studio 2005.
  2. Membuat Visual Basic Windows aplikasi proyek baru bernama ThreadWinApp.
  3. Tambahkan tombol tekan kontrol ke bentuk. tombol tekan ini dinamai Button1 secara asali.
  4. Menambah komponen ProgressBar bentuk. Progress bar bernama ProgressBar1 secara asali.
  5. Klik kanan-atas bentuk, dan kemudian klik Lihat kode.
  6. Tambahkan pernyataan berikut ke awal file:
    Imports System.Threading
    					
  7. Tambahkan berikut Klik Pengangan kejadian untuk Button1:
    Private Sub Button1_Click( _
        ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles Button1.Click
    
        MessageBox.Show("This is the main thread")
    End Sub
    					
  8. Menambahkan variabel berikut untuk Form1 kelas:
    Private trd As Thread
    					
  9. Menambahkan metode berikut untuk Form1 kelas:
    Private Sub ThreadTask()
        Dim stp As Integer
        Dim newval As Integer
        Dim rnd As New Random()
    
        Do
            stp = ProgressBar1.Step * rnd.Next(-1, 2)
            newval = ProgressBar1.Value + stp
            If newval > ProgressBar1.Maximum Then
                newval = ProgressBar1.Maximum
            ElseIf newval < ProgressBar1.Minimum Then
                newval = ProgressBar1.Minimum
            End If
    
            ProgressBar1.Value = newval
    
            Thread.Sleep(100)
        Loop
    End Sub
    						
    Catatan: ini adalah kode yang mendasari kain. Kode ini adalah infinite loop itu secara acak bertahap atau decrements nilai dalam ProgressBar1 dan kemudian menunggu 100 milidetik sebelum melanjutkan.
  10. Tambahkan berikut beban Pengangan kejadian untuk Form1. Kode ini membuat thread baru, membuat kain thread latar belakang, dan kemudian mulai thread.
    Private Sub Form1_Load( _
        ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles MyBase.Load
    
        trd = New Thread(AddressOf ThreadTask)
        trd.IsBackground = True
        trd.Start()
    End Sub
    					

Memverifikasi bahwa bekerja

  1. Membangun dan menjalankan aplikasi. Perhatikan bahwa nilai dalam progress bar perubahan secara acak. Ini adalah thread baru dalam operasi.
  2. Untuk menunjukkan bahwa kain yang utama independen dari kain yang mengubah nilai ProgressBar , klik tombol tekan pada formulir. Kotak pesan akan menampilkan pesan berikut:
    This is the main thread
    							
    Menunggu masukan. Perhatikan bahwa nilai dalam progress bar terus berubah.

Pemecahan masalah

Dalam aplikasi yang lebih kompleks, pastikan bahwa Anda menyinkronkan beberapa benang ketika Anda mengakses variabel bersama. Untuk selengkapnya, lihat pernyataan SyncLock dan topik terkait dalam dokumentasi Online Visual Basic membantu.

Properti

ID Artikel: 315577 - Kajian Terakhir: 22 Januari 2013 - Revisi: 4.0
Berlaku bagi:
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Kata kunci: 
kbvs2005swept kbvs2005applies kbhowtomaster kbmt KB315577 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: 315577

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