Thread Nedir?

Bir process’in birden fazla işi aynı anda yapmasını sağlayan yapılara thread denir. Bir process bünyesinde bir ya da birden fazla thread barındırabilir. Thread’ler aynı anda sadece tek bir iş yapabilir. Kısaca N adet thread N adet iş yapabilir diyebiliriz. Thread’ler aynı zamanda ligth-weight process (hafif siklet proses) olarak da nitelendirilebilir.

Process (Süreç) Nedir?

Öncelikle tanımsal bir ayrıştırma yapmak bu noktada daha iyi anlamamıza yardımcı olacaktır. Çalışan programlara process denir. Örnek olarak Word, Excel veya herhangi başka bir uygulama henüz çalışmıyorken bir programdır. Programlar çalıştırıldığında process olarak nitelendirilir. Process’ler hayatlarına tek bir thread ile başlar ve bu thread’e main thread adı verilmektedir. Diğer thread’ler ise programın çalışma esnasında sistem fonksiyonları tarafından yaratılmaktadır.

Process ve Thread arasındaki farklar?

Thread Yaşam Döngüsü

İşletim sistemlerinde thread oluşturma işlemleri, Windows için CreateThread fonksiyonu ile yapılırken, Unix sistemlerde ise pthread_create() isimli POSIX fonksiyonu ile yapılmaktadır.

Aksi belirtilmediği sürece, Windows için varsayılan thread boyutu 1 MB’dır. Linux sistemlerde ise varsayılan thread boyutu versiyondan versiyona değişiklik gösterebilir.

Thread durumları aşağıda bulunmaktadır:

thread_station.png