Son Yazılar

Thread Nedir ?

Merhaba,

Bu yazımda threadler hakkında genel bilgi vereceğim.

Thread : Bir process’in her farklı akışına thread adı verilir. Process çalışmaya tek bir adı main olan threadle başlar. Diğer threadler çalışma sırasında sistem fonksiyonları ile oluşturulur. Procesin bir threadi bloke olsa bile diğer threadler ondan bağımsız olarak çalışmaya devam eder. Sistem tek işlemcili ise threadler zaman dilimleri şeklinde çalışır ve eş zamanlı olarak çalışıyormuş gibi olur. Fakat çok işlemcili ise sistemlerde farklı threadlerde farklı işlemciler üzerinden eş zamanlı olarak çalışabilir.

Threadler çeşitli kütüphane ve ortamlarda onların sundukları fonksiyon yada sınıflarla oluşturulabilir.

Örneğin : .Net’te

Thread t = new Thread(ThreadStart(ThreadProc));
t.Start();

Threadler çalışmasını bağlı fonksiyon geldiğinde thread’de sonlanır. İşletim sistemi fonksiyonlarıyla thread kendini sonlandırabilir. Bir thread başka bir thread’di de sonlandırabilir. Process sonlanırsa tüm threadler otomatikmen sonlanır.

Threadler genelde arka plan işlemlerinin yürütülmesi , işlemleri hızlandırmak ve paralel programlama yapmak için kullanılır. Paralel programlama ; birden fazla çekirdeğe sahip olan işlemcilerde programların farklı threadlerinin aynı anda çalışması demektir.

*Ortak bir amacı gerçekleştirmeye çalışan threadlerin duruma göre birbirini beklemesi gerekebilir. Bu duruma thread senkronizasyonu denir.
*Threadler istenilen çekirdeklere atanabilmektedir. Bu konuya processor affinity denilmektedir.
*Threadlerin işletim sistemi tarafından nasıl çizelgelendiği sistemden sisteme değişmektedir. Buna thread çizelgelemesi denir.
*Bazen kısa süreli çok sayıda threadler oluşturmak gerekebilir. Bu durumlarda thread pool kullanılır.
*Thread öncelikleri belirlenip bir thread çalışırken diğer threadler bekletilebilir.

Threadler hakkında genel olarak bahsetmiş bulunmaktayım. Umarım yararlı olur.
İyi çalışmalar.

Hakkında Ahmet Hamatoğlu

1991 İzmir/Konak doğumluyum. Hacettepe Üniversitesi Matematik Bölümü 2014 mezunuyum. Yazılıma ilk olarak bölümde aldığım C++ dersi ile başladım daha sonra Java , Python ve C# dilleriyle geliştirmeler yaptım. Şu anda Yazılım Mühendisi olarak çalışıyorum. .Net ve Oracle teknolojileri üzerine çalışmalarımı sürdürüyorum. Elimden geldiği kadar bilgilerimi aktarmaya çalışıyorum. Junior seviyesinde olduğum için sitede bilgilerimi paylaşmamın araştırma yapmamı sağlamasının bana katkı sağlayacağını düşünüyorum. Sormak istediğiniz aklınıza takılan her konuda yardımcı olmaya çalışırım.

Bir bak istersen...

Java

Java da Veri Tipi Dönüşümleri – Java Eğitimi 7

Merhabalar, bugün ki dersimizde, Java programlama dilinde veri tipi dönüşümlerinin nasıl olduğunu inceleyeceğiz. Çeşitli örneklerle …

Bir Cevap Yazın

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

'