Neden iş parçacığı iş parçacığı olarak adlandırılır?


9

Bir sürecin bir kaynak mülkiyeti ve yürütülebilir talimatlar birimi olduğunu biliyorum. İş parçacıkları, bir işlemin kaynaklarını birden çok yürütme ile paylaşmasına izin verir ve bir işletim sisteminin tüm işlemlerle ilişkili tüm ek yükler nedeniyle iş parçacıklarını zamanlaması daha kolaydır.

Peki neden isim dizisi ? Dize veya yürütme eklemesi ile ilgili bir referansı var mı ? Yine de, bu bence sezgisel bir terim değil.

Yanıtlar:


11

Bir sözlüğe baktın mı? İplik sözcüğü dikişten sonra bir anlam ifade eder.

3: sürekli veya çizilmiş bir şey: olarak

a: parçaları sırayla birbirine bağlayan bir düşünce veya düşünce dizisi (fikirler veya olaylar itibariyle)

http://www.merriam-webster.com/dictionary/thread


İlginç. Ben "iş parçacığı tanımlamak" için bir arama yapmıştı ama bu tanım onlardan biri değildi. Bundan bahsettiğinize sevindim, çünkü köprüyü genel kullanımdan programlamaya geçecek kadar soyut.
Matt

9

Hiç katları bükülmüş, daha kalın, daha güçlü bir kablo oluşturduğunu gördünüz mü?

Bu mecazdır, her iş parçacığı bağımsızdır, ancak tüm iş parçacıkları birlikte nihai bir hesaplama çıktısı için birlikte çalışır. Ayrıca, tekstil ipliğinde olduğu gibi, bir iplik tüm kordun yapısından ödün vermeden kırılabilir.

resim açıklamasını buraya girin


2
Ben her zaman "konuları" resmederken sadece sen ve GrandmasterB onları tarif, bütün "bükülmüş, daha kalın, daha güçlü kordon" hakkında emin değilim. Bunun yerine bir işletim sistemindeki çoğu iş parçacığı şuna benzer: miqel.com/bonnaroo_2008_music/yarn_string_trips.jpg (sağdaki adam bellek denetleyicisi olurdu) Evet, bazen bu dizelerden birkaç tanesi ortak bir sorunu çözmeyi amaçlıyor, ancak çoğu sadece orada ve işletim sistemi sadece hepsine istediklerini yapmalarını sağlar (akıl içinde)
DXM

7

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.


4

"İş parçacığı" teriminin kaynağını çözmek (pun tamamen amaçlanan) zordur, çünkü çeşitli şeyler suları çamurluyor.

Forum veya e-posta anlamda iplik kullanımı neredeyse kesin göre ifade "konuşma iplik" kaynaklanıyor bu tarihleri kadarıyla 1593 olarak destekliyor.

Bu bağlantıya göre , bildiğimiz iş parçacıkları, paylaşılan bir bellek işleminin uygulanmasına rağmen 70'lere kadar veya muhtemelen 80'lerin başına kadar aslında "iş parçacığı" olarak adlandırılmadığından , sormak istediğiniz iş parçacığının anlamı için işler daha az net görünüyor. aslında bugün ağır süreçler olarak düşündüğümüzden önce geliyor. Paylaşılan bir bellek çoklu işleminin ilişkili bir şekline "lif" adı verildiğinden, "iplik" kelimesinin dokuma kumaş veya tekstil ile ilgili başka bir benzetmeyi andırdığını sanıyorum.


3

Bence bunun bir 'akıl yürütme konusu' veya 'düşünce tarzı' ile ilgisi var.

Bir işlemin aksine, iş parçacıkları belleği paylaşır. Dolayısıyla, bir süreç kendi zihnine (hafızasına) sahip bir kişiyle benzetilirse, bu zihin içinde bir düşünce çizgisiyle bir iplik benzetilebilir.


1

Bir yerde programlamada iplik benzetmesini okudum.İşlemci bir dikiş iğnesi olarak ve ipliği gerçek dize olarak düşünün. Şimdi, birden fazla dikiş iğneniz varsa, ancak sadece bir iplik varsa. Sizce oldukça verimsiz olacak. Diğer CPU / dikiş iğnesi ipliğin kullanılabilir olmasını bekleyecektir. Ancak, birden çok iş parçacığımız varsa, iş kısa sürede gerçekleştirilebilir.


1
bunun nesi var? Neden -1?
becerikli
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.