Thread (İş parçacığı/iplik)
Thread Aynı adres uzayında çalışan paralel hafif proseslerdir. Prosesin bir bölümü kilitlense bile diğer bölümlerin çalışmaya devam edebilmesini sağlamak için proseslerin parçalara bölünüp paralel olarak çalışmasıdır. Kendisine ait program sayacı, durumu ve registerlar hariç her şeyi paylaşırlar.
Proses Modeli Proses 1 Proses 2
Proses&thread
Proses&thread (2) Proses Zaman (Tek işlemcili sistem)
Proses&Thread (3) Her proses ayrı bir bellek alanı kullanır, tüm threadler aynı proses alanını kullanır Threadlerin oluşturulması ve bellek tahsisi, kaynakları paylaştığından hızlıdır Threadler arasında geçiş proseslere göre daha hızlıdır. bir proses kilitlendiğinde ya da askıya alındığında tüm proses durur, bir thread kilitlense ya da dursa bile prosesin diğer threadleri çalışmaya devam edebilir.
Proses&Thread (4) Belleği paylaştığı için threadlerin çakışma ihtimali daha yüksektir. Proseslerin ortak kaynak kullanımında koruma vardır, Threadler arasında koruma yoktur Proseslerin bir birinden bağımsız işlemler için kullanımı daha uygundur.
Proses&Tread (5) Bir proses işlemciler arasında bölünemez, her işlemciye ayrı bir thread verilerek işlemci daha verimli kullanılabilir. Tek işlemcili sistemlerde threadlerden biri işlemci, biri G/Ç işlemi yapacaksa işlem daha hızlı olur.
Proses&Thread (6) Bir thread’in oluşturulması/sonlandırılması çalışmasından daha uzun sürebilir. Her işlem için yeni thread fazla iş yükü getirebilir. (Bunları engellemek için iplik havuzları oluşturulur)
Thread İptali Asenkron: Bir başka thread ile sonlandırma Gecikmeli: Thread belirli aralıklarla sonlandırılması gerektiğini kontrol eder
Threadlerin Gerçeklenmesi Kullanıcı uzayında (thread tablosu proseslerin içinde) Çekirdekte (thread tablosu çekirdek uzayında) Hibrit sistem (kullanıcı uzayındaki threadler çekirdek uzayındaki threadler tarafından yönetilir)