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