Runnable ve Thread arasındaki fark

Temel Fark - Çalıştırılabilir vs Konu
 

Yürütülen bir program işlem olarak bilinir. İşlem birden fazla alt işleme ayrılabilir. Örneğin, Microsoft Word bir işlemdir. Aynı zamanda, yazım hatasını ve dilbilgisini kontrol eder. Bu bir alt işlemdir. Bu alt işlemler iplik olarak bilinir. Çoklu iş parçacığı, aynı anda birden çok iş parçacığı yürütme işlemidir. Dişli uygulamalar farklı programlama dilleri kullanılarak oluşturulabilir. Runnable ve Thread Java programlama ile ilişkilidir. Java'da, Runnable arabirimi uygulayarak veya Thread sınıfını genişleterek bir iş parçacığı oluşturmak için iki yöntem vardır. Runnable uygulanırken, iş parçacığı sınıfını genişletirken birçok iş parçacığı aynı iş parçacığı nesnesini paylaşabilir, her iş parçacığının kendisiyle ilişkilendirilmiş benzersiz bir nesnesi vardır. İşte temel fark Runnable ve Thread arasında.

İÇİNDEKİLER

1. Genel Bakış ve Temel Fark
2. Çalıştırılabilir nedir
3. Konu nedir
4. Runnable ve Thread Arasındaki Benzerlikler
5. Yan Yana Karşılaştırma - Tablo Şeklinde Runnable vs Thread
6. Özet

Çalıştırılabilir nedir?

Bir iş parçacığı bazı durumlardan geçer. “Yeni”, iplik ömrü döngüsünün başlangıcıdır. Start () yöntemi yeni bir iş parçacığını çağırdıktan sonra çalıştırılabilir hale gelir. İş parçacığı zamanlayıcı iş parçacığını seçerse, çalışma durumuna geçer. İş parçacığı başka bir iş parçacığının bir görev gerçekleştirmesini bekliyorsa iş parçacığı durumu bekliyor. İş parçacığı işi tamamladıktan sonra, sonlandırma durumuna gider.

Bir iş parçacığı Runnable arabirimi kullanılarak uygulanabilir. Aşağıdaki programa bakın.

Şekil 01: Runnable arabirimini kullanarak bir iş parçacığı oluşturmak için Java Programı

Yukarıdaki programa göre, Runnable Demo sınıfı Runnable arabirimini uygular. Run () yöntemi, Runnable arabirimini uygulayan sınıfın içindedir. İş parçacığının giriş noktasıdır. Mantık run () yöntemindedir. Ana programda, Runnable Demo sınıfından örneklenen bir nesne tanımlanarak bir iş parçacığı oluşturulur. T1. Start () yöntemi t1 kullanılarak çağrılır.

Aşağıdaki programa bakın.

Şekil 02: Runnable arabirimini uygulayarak bir döngü yürütmek için bir iş parçacığı oluşturmak için Java programı

Yukarıdaki örneğe göre, Runnable Demo sınıfı Runnable arabirimini uygular. İş parçacığı kullanılarak yürütülecek mantık run () yönteminde yazılır. Ana programda, Runnable Demo sınıfından örneklenen bir nesne tanımlanarak bir iş parçacığı oluşturulur. T1. Ardından, t1 kullanılarak start () yöntemi çağrılır.

Konu nedir?

Bir iş parçacığı oluşturmanın diğer yöntemi, Thread sınıfını genişletmektir. Üç adımdan oluşur. Birincisi, sınıfı Thread sınıfını genişletmek olarak ilan etmektir. Daha sonra run () yöntemi yazılmalıdır. İş parçacığının yürütmesi gereken adımlar sırasına sahiptir. Son olarak, iş parçacığı nesnesi oluşturulur ve iş parçacığının yürütülmesini başlatmak için start () yöntemi çağrılır. Aşağıdaki programa bakın.

Şekil 03: Thread sınıfını genişleten Java programı

Yukarıdaki programa göre, MyThread sınıfı Thread sınıfını genişletir. Run yöntemini geçersiz kılar. Run () yöntemi, iş parçacığı tarafından yürütülecek mantığı içerir. İş parçacığının giriş noktasıdır. Sonra iş parçacığı nesnesi oluşturulur. Konu1. İş parçacığı, start () yöntemi kullanılarak başlatılır. Run () yöntemi için bir çağrı yürütür.

Thread sınıfını genişleten iki sınıftan oluşan örnek bir program aşağıdaki gibidir.

Şekil 04: Thread sınıfını genişleten iki sınıflı Java programı

Yukarıdaki programa göre, hem A sınıfı hem de B, Thread sınıfını genişletiyor. Her iki sınıf da run () yöntemini uygular. Ana iş parçacığı, main () yöntemini yürütür. Ana iş parçacığı ölmeden önce, iş parçacığı1 ve iş parçacığı2 oluşturur ve başlatır. Ana iş parçacığı ana yöntemin sonuna geldiğinde, üç iş parçacığı paralel olarak ilerler. İpliklerin çıktı verdiği belirli bir düzen yoktur. İş parçacığı başlatıldıktan sonra yürütülecek sıraya karar vermek zordur. Bağımsız olarak koşarlar.

Runnable ve Thread Arasındaki Benzerlikler Nelerdir??

  • Her ikisi de Java'da bir iş parçacığı oluşturmak için kullanıyor.

Runnable ve Thread arasındaki fark nedir?

Runnable ve Konu

Runnable, birçok iş parçacığının aynı iş parçacığını paylaşmasına olanak tanıyan bir iş parçacığı oluşturmak için Java'daki bir arabirimdir. İş parçacığı, her iş parçacığının kendisiyle ilişkilendirilmiş benzersiz bir nesneye sahip olduğu bir iş parçacığı oluşturmak için Java'daki bir sınıftır.
 Hafıza
Runnable'da, birden çok iş parçacığı aynı nesneyi paylaşır, bu nedenle daha az bellek gerektirir. Thread sınıfında, her evre benzersiz bir nesne oluşturur, bu nedenle daha fazla bellek gerektirir.
Yeteneği Genişletme
Runnable arabirimini uyguladıktan sonra bir sınıfı genişletebilir. Birden çok devralma Java'da desteklenmez. Thread sınıfını genişlettikten sonra başka herhangi bir sınıfı genişletemez.
 Kod Sürdürülebilirliği
Çalıştırılabilir arayüz kodu daha sürdürülebilir hale getirir. Thread sınıfında, bakım zaman alıcıdır.

Özet - runnable vs Konu 

Bir işlem, aynı anda birden çok görevi gerçekleştirmek için birden çok alt işleme bölünür. Bu alt işlemler iplik olarak bilinir. Bir iş parçacığının örneklenmesi Runnable arabirimi uygulanarak veya İş Parçacığı Sınıfı genişletilerek yapılabilir. Thread sınıfını genişletmek kolaydır, ancak daha iyi bir Nesne Tabanlı Programlama uygulaması değildir. Runnable uygulanırken, birçok iş parçacığı aynı iş parçacığı nesnesini paylaşabilirken, iş parçacığı sınıfını genişletirken her iş parçacığının kendisiyle ilişkilendirilmiş benzersiz bir nesnesi vardır. Runnable ve Thread arasındaki fark budur. Thread sınıfında çoklu nesne oluşturma daha fazla bellek tüketebilir.

Runnable ve Thread PDF'lerini indirin

Bu makalenin PDF sürümünü indirebilir ve alıntı notuna göre çevrimdışı amaçlar için kullanabilirsiniz. Lütfen PDF sürümünü buradan indirin Runnable ve Thread Arasındaki Fark

Referans:

1.tutorialspoint.com. “Java Çok İş Parçacığı Oluşturma.” Nokta, Burada bulunabilir 
2.Pramodbablad. “İş Parçacığı Vs Java'da çalıştırılabilir uygular genişletir.” Günün Java Kavramı, 11 Kasım 2016. Buradan ulaşabilirsiniz
Java Multithreading bir iş parçacığı oluşturmak için yollar | Çekirdek Java Eğitimi | Studytonight. Burada mevcut