Beyaz.Net İpucu

C#'ta Thread Kullanmak

C# Thread kullanımı

Thread iş parçacığı anlamına gelir.Thread’ler sayesinde bir çok işi aynı anda eş zamanlı yapmak mümkündür.Bu iş parçacıklarını istediğimiz zaman bekletebilir veya sonlandırabiliriz.Thread’ler genellikle arka planda yapılması gereken ve uzun süren işlemler için kullanılır böylece uygulamanın kullanıcıya cevap verebilir durumda  olması sağlanır.

Aşağıda  farklı işler yapan metodlarımız var bu metodları main thread içinde yeni iş parçacıkları yaratarak çalıştıracağız.

public void Work1()
{
                for(int i=0;i<=1000;i++)
                {
                               int toplam+=i;
                }             
}

public void Work2()
{
                for(int i=0;i<=1000;i++)
                {
                               int toplam*=i;
                }             
}

work1 metodumuzu yeni bir thread oluşturarak çalıştırıp kullanıcının bu işlem süresince başka işlemlerde yapabilmesini sağlayacağız.

//thrdWork1 isminde bir thread oluşturarak arka planda eş zamanlı olarak çalışmasını sağlıyoruz.
Thread  thrdWork1=new Thread(Work1);
thrdWork1.Start();

//Work2 metodumuzu da aynı şekilde yeni bir thread oluşturarak çalıştırıyoruz.
Thread thrdWork2=new Thread(Work2);
thrdWork2.Start();

Uygulamamızda birden fazla thread ile çalışmamız gerektiği zamanlarda önce çalışıp işini tamamlaması için istediğimiz bir thread için işlem önceliği seçme imkanımız vardır;

Aşağıda work1 metodunu çalıştıracak olan thread in yüksek öncelik sahibi olduğunu belirterek çalışıp işini bitirdikten sonra diğer thread in çalışmasını sağlamış olacağız:

thrdWork1.Priority = ThreadPriority.Highest; //yüksek öncelikli iş
thrdWork2.Priority = ThreadPriority.Lowest; //düşük öncelikli iş

thrdWork1.Start();

thrdWork2.Start();