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

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..

 

Şunlarıda incelemek isteyebilirsin mi?

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir