Anasayfa Hakkımda İletişim RSS
Site İçi Arama
ETİKET BULUTU
SON YAZILAR
Artık Bir Mezunum..
Gazi Üniversitesi Bilişim Ve Kariyer Günleri
Google' dan Çılgın Proje
Amfiden Ofise
ASP.NET ile Dinamik Meta Tag Oluşturma
EN ÇOK OKUNANLAR
C# ile Thread Kullanımı
ASP.NET ile Dinamik Meta Tag Oluşturma
Haymana'ya İsmini Veren Hayme Ana Kimdir?
ASP.NET ile Resimleri Binary olarak Saklamak ve Handler ile
Virtual Earth ile Verilen Koordinatlara Göre Harita Üzerinde
SON YORUMLANANLAR
Artık Bir Mezunum..
ASP.NET ile Resimleri Binary olarak Saklamak ve Handler ile
Google' dan Çılgın Proje
Mutlu Yıllar, Hoşgeldin 2010
TAKİP ETTİKLERİM
Mehmet Duran
Oğuz Yılmaz
Alper Öcalan
İsmail Öz
Yakup Buğra
Alp Çoker
Daron Yöndem
Nuh Azgınoğlu
Gökhan Besler
İSTATİSTİKLER
YAZILAR
Toplam Yazı: 17
Toplam Yorum: 32
Toplam Etiket: 26
ZİYARETÇİLER
Online: 1
Bugün: 44
Bu Ay: 532
Bu Yıl: 25543
Toplam: 33136


C# ile Thread Kullanımı

 Thread bilgisayar biliminde, bir programın kendini eş zamanlı birden fazla iş parçasına ayırabilmesinin bir yoludur. Threadlar ile program yazılmasına son dönemlerde çok ağırlık verilmiştir. Bu yazımda ise size c# ile thread kullanmayı anlatacağım. C# ile threadlerden oluşan program yazabilmek için ilk önce  "using System.Threading;" kütüphanesini ekliyoruz.
Thread kullanırken Thread sınıfından bir nesne üreterek bu nesneye kullanacağımız metodu ekliyoruz.
Thread thread=new Thread(new ThreadStart(kullanacağımız metodun ismi));
Şimdi küçük bir sayıcı programı ile thread kullanımını görelim. Formumuzu aşağıdaki şekilde oluşturuyoruz.

Formumuzu oluşturduktan sonra kodlarımıza geçelim. İki tane metodumuz olacak bu metodlardan birisindeki sayaç değeri sürekli label1 e , diğer metod da ise label2 ye metod içindeki sayacın değeri yazılmaktadır. Programımızda çalışan metodların kodları şu şekildedir.
         public void lb1_degistir()
      {
            for (int i = 0; i < 100; i++)
           {
              label1.Text = i.ToString();
             Thread.Sleep(20); // Sayıcı değerini ekranda görmek için bekletiyoruz.
          }
        }

      public void lb2_degistir()

        { 
            for (int i = 0; i < 100; i++)
            {
                label2.Text = i.ToString();
                Thread.Sleep(20);
            }
          } 
Bu iki metodu BAŞLAT butonunda tıkladığımız da oluşturduğumuz threadin içine atarak aynı anda çalıştırıyoruz. DURDUR butonuna tıkladığımızda ise threadlerimizi durduruyoruz. Sayıcıların aynı anda başladığını ve durdurduğumuzda aynı veya birbirine yakın değerler verdiğini görüyoruz.

        Thread t;
        Thread t2;
        private void button1_Click(object sender, EventArgs e)
        {
         System.Windows.Forms.Form.CheckForIllegalCrossThreadCalls = false;

           //Yukardaki kodu threadlar içinde form kontrollerini kullanabilmek için ekliyoruz.
           // eklemediğimiz zaman kontroller üzerinde bir değişiklik yapamayız.
            t = new Thread(new ThreadStart(lb1_degistir));
            t2 = new Thread(new ThreadStart(lb2_degistir));
            t.Start();
            t2.Start();
        }
        private void button2_Click(object sender, EventArgs e)
        {
            button2.BackColor = Color.Red;
            t.Abort();
             t2.Abort();
         }

Programın ekran çıktısı ise şu şekildedir.

İleriki günlerde threadlardan daha ayrıntılı bahsedeceğim. Bu yazımda thread kullanımını anlamak açısından küçük bir örnek yaptık.

Tarih: 04.10.2009 Okunma Sayısı: 1356 Yorum Sayısı: 0
Etiketler: C# Thread
YORUMLAR
YORUM YAZ

İSİM:
YORUM:


Copyright © 2009 SİNAN ÖZKAN