Bu makalede, Microsoft Visual Basic .NET veya Microsoft Visual Basic 2005 Windows uygulamasında bir iş parçacığı oluşturma.
System.Threading</a1> ad ile iş parçacığı çalışmak için gerekli olan sınıflar sağlar.
Gereksinimler
Aşağıdaki listede, gereksinim duyacağınız donanım, yazılım, ağ altyapısı ve hizmet paketleri önerilmektedir:
- Microsoft Windows 2000 veya Microsoft Windows XP
- Microsoft Visual Basic .NET'i veya Microsoft Visual Basic 2005
Bu makalede, aşağıdaki konularda bilgi sahibi olduğunuz varsayılmaktadır:
- Visual Basic .NET programlama veya Visual Basic 2005 programlama
- Visual Studio .NET veya Visual Studio 2005 tümleşik geliştirme ortamı (IDE)
- Temsilcilerin ve iş parçacığı ile genel benzerlik
- Visual Basic .NET veya Visual Basic 2005 ile genel benzerlik
Visual Basic .NET veya Visual Basic 2005 bir uygulama ile iş parçacığı oluşturma
- Microsoft Visual Studio 2005 ya da Microsoft Visual Studio. NET'i başlatın.
- ThreadWinApp adlı yeni bir Visual Basic Windows Application projesi oluşturun.
- Bir Düğme) denetimi, forma ekleyin. Düğme Button1, varsayılan olarak adlandırılır.
- ProgressBar bileşen forma ekleyin. Ilerleme çubuğunda ProgressBar1 varsayılan olarak adlandırılır.
- Formu sağ tıklatın ve Kod Görüntüle</a1>'ı tıklatın.
- Dosyanın başlangıcına kadar aşağıdaki deyimi ekleyin:
- Button1 için aşağıdaki tıklatın olay işleyicisi ekleyin:
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
- Aşağıdaki değişken Form1 sınıfına ekleyin:
- Aşağıdaki yöntem Form1 sınıfına ekleyin:
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
Not: Bu, iş parçacığının underlies koddur. Bu, bir sonsuz, rasgele artırır veya azaltır ProgressBar1 değeri döngü ve daha sonra devam etmeden önce 100 milisaniye bekleyeceği kodudur. - Aşağıdaki'Yükle ' olay işleyicisi için Form1 ekleyin. Bu kod, yeni bir iş parçacığı oluşturur, iş parçacığının bir arka plan iş parçacığı sağlar ve iş parçacığının'ı başlatır.
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
Çalıştığından emin olun.
- Oluşturup uygulamayı çalıştırın. Ilerleme çubuğunda değeri rasgele değiştiğine dikkat edin. Işlemde yeni iş parçacığı budur.
- Ana iş parçacığı ProgressBar değeri değişir iş parçacığı için bağımsız olduğunu göstermek için <a0></a0>, formdaki bir düğmeyi tıklatın. Bir ileti kutusu aşağıdaki iletiyi görüntüler: Giriş için bekleyin. Ilerleme çubuğunda değeri değiştirmeye devam dikkat edin.
SORUN GİDERME
Daha karmaşık uygulamalarda paylaşılan değişkenleri eriştiğinizde, birden çok iş parçacığı eşitleme dikkat edin. Daha fazla bilgi için
SyncLock deyimi ve Visual Basic çevrimiçi Yardımı belgelerinde, ilgili konulara başvurun.
Makale numarası: 315577 - Son Gözden Geçirme: 06 Aralık 2006 Çarşamba - Gözden geçirme: 4.3
Bu makaledeki bilginin uygulandığı durum:
- Microsoft Visual Basic 2005
- Microsoft Visual Basic .NET 2003 Standard Edition
- Microsoft Visual Basic .NET 2002 Standard Edition
| kbmt kbvs2005swept kbvs2005applies kbhowtomaster KB315577 KbMttr |
Otomatik TercümeÖ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:
315577
(http://support.microsoft.com/kb/315577/en-us/
)