Thread Ne Demek?
Yayın: · Son güncelleme:
Thread Ne Demek? Kısaca
Thread, bir programın içinde bağımsız olarak çalışabilen en küçük iş birimidir. Türkçede iş parçacığı denir; aynı process içindeki thread'ler belleği paylaşır ve işletim sistemi tarafından ayrı ayrı zamanlanır.

Thread ne demek?
Thread, İngilizcede "iplik" anlamına gelir ve yazılımda bir programın içindeki bağımsız yürütme hattını ifade eder. Türkçede iş parçacığı olarak çevrilir. Her program en az bir thread ile başlar; buna ana thread denir.
Nasıl çalışır?
Bir process çalıştığında işletim sistemi ona bellek ve kaynak ayırır. Thread'ler bu process'in içinde yaşar ve aynı belleği ortak kullanır. İşletim sistemi, hangi thread'in ne zaman işlemci çekirdeğinde çalışacağına karar verir. Çok çekirdekli bir işlemcide farklı thread'ler gerçekten aynı anda çalışabilir.
Bir metin editörünü düşünün. Siz yazarken bir thread tuş vuruşlarını işler. Bir diğeri arka planda yazım denetimi yapar, üçüncüsü ise belgeyi birkaç dakikada bir otomatik kaydeder. Hepsi aynı belge verisine erişir, ama birbirini beklemez.
Avantajları ve riskleri
Thread oluşturmak, yeni bir process başlatmaktan daha hafiftir ve bellek paylaşımı sayesinde veriler arasında hızlı iletişim kurulur. Bu da uygulamanın daha akıcı hissettirmesini sağlar.
Aynı belleği paylaşmak ise sorunların kaynağıdır. İki thread aynı değişkeni aynı anda değiştirmeye çalışırsa yarış durumu ortaya çıkar. Birbirinin kilidini bekleyen thread'ler deadlock'a düşebilir. Bu nedenle paylaşılan veriye erişimi kilit gibi senkronizasyon araçlarıyla düzenlemek gerekir. Thread kullanan bir kod yazıyorsanız, önce hangi verilerin paylaşıldığını listeleyin.
Sıkça Sorulan Sorular
Thread nedir, process ile farkı ne?
Process, kendi bellek alanı olan çalışan bir programdır. Thread ise bu process'in içinde çalışan bir iş parçacığıdır ve aynı process'teki diğer thread'lerle belleği paylaşır.
Sosyal medyadaki thread ile aynı şey mi?
Hayır. X (Twitter) gibi platformlarda thread, birbirine bağlı gönderilerden oluşan dizidir. Yazılımdaki thread ise programın iş parçacığıdır; yalnız isim benzerliği vardır.