tl; dr: Bunlara “thread” uygun bir metafor olduğu için “thread” denir.
Bir iş parçacığını başlattığınızda, iş parçacığının çalışabilmesi için işlem süresini ayırmak için işletim sistemine güvenirsiniz. İş parçacığınız yürütülürken, işlemci (veya çekirdek) tüm dikkatini iş parçacığınıza yerleştirir. İşletim sistemi çekirdeği farklı bir iş parçacığına geçirdiğinde, diğer iş parçacığı hizmet edilirken iş parçacığınızın yürütülmesi durur.
Yani infaz her yere atlar. Ancak makine komutları kümesinin bütünlüğü, bu sıçramalara rağmen bozulmadan kalır, çünkü durumunu ve etkileşimde bulunduğu nesnelerin durumunu korumak için çitler ve eşzamanlılık mekanizmaları inşa ederiz.
Dolayısıyla, iş parçacığı, belirli bir iş parçacığındaki yönergelerin yürütülmesine değil, sonunda oluşturduğumuz iş parçacığında yürütülecek yönergelere başvurur. Diğer bir deyişle, her bir iş parçacığı, işletim sisteminin tüm görünümlerini vermek için gerçekleştirdiği tüm bağlam anahtarlarını düşünmek zorunda kalmadan, bireysel bir makine veya ajan (onlara hafif süreçler diyoruz) olarak düşünülebilir. aynı anda yürütme.
Başka bir deyişle, işletim sisteminin sahne arkasında yaptığı tüm atlamalara rağmen, bir iş parçacığı (hafif bir süreçte yürüttüğümüz işlem sırası) yine de aynı işlem dizisi olarak düşünülebilir, Biz gerekli eşzamanlılık koruma almış varsayalım, iplik doğmamış değil.
Bu açıklama çok ağır ve soyut görünüyorsa, bir forumdaki Reddit gibi bir konu düşünün. Yeni tartışmalara ayrılabilirsiniz; her tartışma kendi konusudur. İplikler arasında ileri geri atlayabilirsiniz. Ancak her bir evre, bireysel bir konuşma olarak yapısal bütünlüğünü hala korumaktadır.