Derinlemesine yazılım eğitimleri için kanalımı takip edebilirsiniz...

C# İle Multi Thread Programlamada “Thread” Kavramı

Merhaba,

Önceki C# İle Multi Thread Programlama Temelleri başlıklı yazımda Multi Thread Programlamaya giriş yapmıştık. Şimdi ise Thread kavramını ele alacağız.

Önceki yazımızı incelerseniz eğer bir program CPU tarafından process olarak ele alınmakta ve çalıştırılmaktadır. Halbuki iş bu kadar sade bir biçimde gerçekleştirilmemektedir. Aslında CPU’lar programın işlenmesini process olarak değil processlerin içerdiği alt işlemler olan Thread’lar bazında ele almaktadır.

Hani önceki yazıda, CPU’nun processleri sıraya koymasına Döngüsel Çizelgeleme demiştik. İşte asıl olayın Döngüsel Çizelgeleme process düzeyinde değil Threadlar düzeyinde olduğunu bilmenizi isterim.

Threadları, process içerisindeki alt process olarak nitelendirebiliriz…

Şimdi process yapısını daha net bir şekilde ele alalım.

Process içinde Thread(ları) barındıran bir işlev yapısıdır. Her process içerisinde Primary Thread diye nitelendirilen varsayılan bir thread vardır lakin bu thread dışında da threadlar olabilir de olmayabilir de… Yani process içerisinde birden fazla thread olmak zorunda değildir.

Primary Thread, processin çalışmaya başladığı ilk noktadır. Buna örnek olarak; üzerinde çalıştığımız Console Applicationdaki Main metodunu hatırlatırım.

    class Program
    {
        static void Main(string[] args)
        {

        }
    }

İşte bu Main metodu aslında processimizin Primary Thread olarak nitelendirdiği ilk thread’dır. Nihayetinde ilk olarak bu Main metodunun çalıştığını anımsayınız…

Threadların bir diğer özelliği ise; uzun ve maliyetli işlerde threadlar CPU’lara yük olmamak için geçici olarak Döngüsel Çizelgelemeden çıkarılmaktadır. Böylece yüzlerce thread çalışıyormuş gibi gözüksede gerçekte çok az thread çizelgede aktif durumda demektir. İşte bu işlem “Thread’ların Bloke Olması” diye nitelendirilmektedir.

Evet, Thread kavramı üzerine bu değindiklerimiz yeterlidir.

Bir sonraki içeriğimizde Multi Thread Çalışma üzerine detaylarda konuşacağız.

İyi çalışmalar…

Bunlar da hoşunuza gidebilir...

2 Cevaplar

  1. 09 Temmuz 2016

    […] C# İle Multi Thread Programlamada “Thread” Kavramı […]

  2. 13 Temmuz 2016

    […] Önceki C# İle Multi Thread Programlamada “Thread” Kavramı başlıklı yazımızda detaylı Thread kavramını ele almıştık. Bu yazımızda ise Multi Thread çalışmanın avantaj ve dezavantajlarına değineceğiz. […]

Bir cevap yazın

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