Giriş
İş parçacıkları normalde bir program içerisinde sırası ile yapılır. Fakat bazen kullanıcılar bu iş parçacıklarının bir bilgisayar üzerinede aynı anda yapılıyormuş hissine kapılır ki bu doğaldır. Mesela bir kullanıcı aynı anda müzik dinlerken aynı anda dosya yükleyebilir ve hatta aynı anda internette gezinebilir. Bunların tümü aynı anda yapılıyormuş hissini uyandırır. Esasında bu uygulamaların hepsi işlemcide sıraya alınır öyle yapılır. Thread uygulamalarında ise işlemci uygulamaları biraz biraz yaparak aynı anda yapıyormuş gibi gerçekleştirir. Yani biraz müzik biraz internette gezinti biraz dosya yüklme ... gibi...
Örneğimiz

Tasarımımız yukarıdaki gibi olmalıdır.
2 adet ProgressBar (name:pr1 ve name:pr2)
2 adet Button (text:Başla ve text:Durdur)
Form tasarımımızı yapdıktan sonra şimdi sıra geldi ilgili kütüphaneleri çağırmaya. Yapacağımız uygulama Thread uygulaması olması sebebiyle aşağıdaki 2 kütüphaneyi code penceresinin en üst kısmına eklemeliyiz.
ImportsSystem.Threading
ImportsSystem.Threading.Thread
Bu 2 kütüphaneyide çağırdıktan sonra şimdi sıra geldi global değişkenlerimizi tanımlamaya. Tahmin edebileceğiniz gibi global değişkenler o class üzerinde her yerden çağırılabiliyor. Her kontrolün her olayında kullanabilirsiniz.
Public ClassForm1
Yukarıdaki söz diziminin hemen altına aşağıdaki değişkenlerimizi tanımlayalım.
Dimts1 As NewThreadStart(AddressOfbirinci_is)
Dimts2 As NewThreadStart(AddressOfikinci_is)
Dimt1 As NewThread(ts1)
Dimt2 As NewThread(ts2)
Dimi As Integer
Birinci İş Parçacığı
Bu uygulamamızda 2 iş parçacığı oluşturulacak ve burada yazılan kodlar uygulamadaki sınıf içinde yazılması gerekir
Subbirinci_is()
pr1.Maximum = 1000000000
Fori = 0 Topr1.Maximum
pr1.Value += i
Next
End Sub
Buradaki iş parçacığı text özelliği başla butonunun click eventinde çağırılacaktır.
İkinci İş Parçacığı
Buradaki yazılan kodlar da ikinci iş parçacığını oluşturmaktadır.
Subbirinci_is()
pr2.Maximum = 250000000
Fori = 0 Topr2.Maximum
pr2.Value += i
Next
End Sub
Buradaki iş parçacığı text özelliği başla butonunun click eventinde çağırılacaktır.
Vee Son Adım
Son olarak geldik Formumuzda bulunan 2 adet butonun click event'lerine.
text özelliği Başla olan butonumuzun click olayına ait kodlar aşağıdaki gibi olmalıdır.
t1.Start()
t2.Start()
text özelliği Durdur olan butonumuzun click olayına ait kodlar aşağıdaki gibi olmalıdır.
t1.Suspend()
t2.Suspend()
Uygulamamızı derleyelim ve çalıştıralım. Başla butonuna bastığınız zaman oluşturmuş olduğumuz 2 iş parçacığı aynı anda çalışıyormuş gibi görünecektir. Ekran görüntüsünde olduğu gibi...

Makaleye ait örnek uygulamayı indirmek için tıklayın
Bir sonraki makalemde görüşmek dileğiyle .net ile kalın ...