C#

C# ile Thread Kullanalım. Nasıl mı?

ozeraydin
• 📅 18 Aralık 2016 • ⏳ 2 dk okuma
📑 İçindekiler Rehberi

    Bu yazımızda thread kullanımını inceleceğiz, şimdi nedir bu thread kavramı diye kendimize soracak olursak :

    En basit haliyle bir işi yürüten en küçük birim diyebiliriz, çok fazla iş yapıyorsak bu işler sıraya girecek ve öndekiler bitmeden arkadaki işler başlamayacak, ancak biz thread lara bölerek işleri yaptırırsak sıralama olmadan diğer işlere yönelebileceğiz. Aşağıdaki örnek konsol uygulamamız ile biraz daha netleştirelim.

    static void Main(string[] args)  //ana programımızda 2 adet fonksiyonu 2 ayrı thread e tanımlıyoruz
    {
        Thread fonk1 = new Thread(new ThreadStart(fonksiyon1));
        Thread fonk2 = new Thread(new ThreadStart(fonksiyon2));
        fonk1.Start(); //thread tanımlamasından sonra çalışması için start metodunu çağırıyoruz
        fonk2.Start();
        Console.ReadKey();
    }

    public static void fonksiyon1()
    {
      for (int i = 0; i < 10000; i++)
      {
       Thread.Sleep(10); //sleep bekletme işlemi yapmak için konulmuştur
       try
       {
          if ((i % 10) == 6)
          {
            Console.WriteLine(“————“+i);
          }
        }
       catch{ }
     }
     Console.WriteLine(” fonksiyon1 end ———————————- “);
    } 

    public static void fonksiyon2()
    {
      for (int i = 0; i < 10000; i++)
      {
       Thread.Sleep(9);
       try
       {
          if ((i % 10) == 5)
          {
            Console.WriteLine(“————“+i);
          }
        }
       catch{ }
     }
     Console.WriteLine(” fonksiyon2 end ———————————- “);
    } 

    NŞA da bu iki fonksiyonu yazıp çalıştırdığımızda önce ilkinin bitip sonra diğerinin bittiğini görürdük ancak işin içine thread ları koyduğumuzda ekran çıktısı karıştı düzen bozuldu..

     

    ozeraydin

    Kişisel hobi veya profesyonel olarak : Yazılım, Teknoloji, Kripto para, Finans, Uzay ve Bilim-kurgu hakkında yazılar yazmaya çalışıyorum.

    İlgili Diğer Teknik Makaleler

    ÖNERİLENLER

    Fikirlerinizi ve Yorumunuzu Paylaşın

    E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir