C#’ta Thread Kullanımı Google'da Ara Büyüt Küçült

Genişlet
05 Mart 2010 – 16:00

C#’ta thread kullanımı aynı anda birden fazla iş yapmamızı sağlar.Bu şekilde programımızı birden fazla iş bölümüne ayrabiliriz.Farklı thradlar aynı fonksiyonu kullanabiliceği gibi farklı fonksiyonlarıda kullanabilirler.

Programımızda thread kullanmak için öncelikle threading kütüphanesini programımıza eklemeliyiz.

1
using System.Threading;

Sonrasında istediğimiz event içind threadlarımızı aşağıdaki gibi tanımlayıp başlatabiliriz

1
2
3
4
5
6
7
8
System.Windows.Forms.Form.CheckForIllegalCrossThreadCalls = false;
Thread thread1 = new Thread(new ThreadStart(listBox1Ekle));
Thread thread2 = new Thread(new ThreadStart(listBox2Ekle));
Thread thread3 = new Thread(new ThreadStart(listBox3Ekle));

thread1.Start();
thread2.Start();
thread3.Start();

Yukarıda 3 tane thread tanımlanmıştır ve herbiri ayrı fonksiyonları çağırmaktadır.Eğer System.Windows.Forms.Form.CheckForIllegalCrossThreadCalls = false; komutunu kullanmassak hata alırız bunun sebebi ise thread lerin senkronlanmadığından.Yukarıda çağırılan fonksiyonlarda aşağıdaki şekilde tanımlayalım.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
        private void listBox1Ekle()
        {
            for (int i = 0; i < 100; i++)
            {
                listBox1.Items.Add(i + "-Thread1");
                Thread.Sleep(300);
            }

        }

        private void listBox2Ekle()
        {
            for (int i = 0; i < 100; i++)
            {
                listBox2.Items.Add(i + "-Thread2");
                Thread.Sleep(500);
            }

        }

        private void listBox3Ekle()
        {
            for (int i = 0; i < 100; i++)
            {
                listBox3.Items.Add(i + "-Thread3");
                Thread.Sleep(700);
            }

        }

Programda görüldüğü gibi 3 ayrı thread farklı zaman dilimlerinde listboxları dolduracatır.Thread kullanımı kısaca bu mantıkta çalışır.

Yukarıdaki Thread kullanımı örneğine aşağıdaki linkten ulaşabilirsiniz.

Linkler
RapidShare

Etiketler Etiketler: ”, ,

Benzer Yazılar

Yorum Yap

Isim : (gerekli)
E-mail : (gerekli)
Yorumunuz: