Runnable ve Thread Arasındaki Fark

İçindekiler:

Runnable ve Thread Arasındaki Fark
Runnable ve Thread Arasındaki Fark

Video: Runnable ve Thread Arasındaki Fark

Video: Runnable ve Thread Arasındaki Fark
Video: Разница между реализацией интерфейса Runnable и расширением класса потока | Runnable против потока 2024, Temmuz
Anonim

Anahtar Farkı – Runnable vs Thread

Yürütülmekte olan bir program süreç olarak bilinir. Süreç birden fazla alt sürece bölünebilir. Örneğin, Microsoft Word bir süreçtir. Aynı zamanda yazım hatalarını ve dil bilgisini kontrol eder. Yani bir alt süreç. Bu alt işlemler iş parçacığı 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şturmanın iki yöntemi vardır. Runnable'ı uygularken, birçok iş parçacığı, Genişletme İş parçacığı sınıfındayken aynı iş parçacığı nesnesini paylaşabilir, her iş parçacığının kendisiyle ilişkilendirilmiş benzersiz bir nesnesi vardır. Runnable ve Thread arasındaki temel fark budur.

Çalıştırılabilir Nedir?

Bir iş parçacığı bazı durumlardan geçer. “Yeni”, iş parçacığı yaşam 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. Bu iş parçacığı başka bir iş parçacığının bir görevi gerçekleştirmesini bekliyorsa, iş parçacığı durumu bekliyor. Thread işi tamamladıktan sonra sonlandırma durumuna geçer.

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

Runnable ve Thread Arasındaki Fark
Runnable ve Thread Arasındaki Fark

Ş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 arayüzünü uygular. run() yöntemi, Runnable arabirimini uygulayan sınıfın içindedir. İpliğin 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'dir. start() yöntemi t1. kullanılarak çağrılır.

Aşağıdaki programa bakın.

Runnable ve Thread_ Figure 02 Arasındaki Fark
Runnable ve Thread_ Figure 02 Arasındaki Fark

Şekil 02: Runnable arabirimini uygulayarak bir döngü yürütmek üzere 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ılmıştır. Ana programda, Runnable Demo sınıfından örneklenen bir nesne tanımlanarak bir iş parçacığı oluşturulur.t1'dir. Ardından, start() yöntemi t1 kullanılarak çağrılır.

İplik 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şletiyor olarak ilan etmektir. Daha sonra run() metodu yazılmalıdır. İş parçacığının yürütmesi gereken adımların sırasına sahiptir. Son olarak, thread nesnesi oluşturulur ve thread'in yürütülmesini başlatmak için start() yöntemi çağrılır. Aşağıdaki programa bakın.

Runnable ve Thread_ Figure 03 Arasındaki Fark
Runnable ve Thread_ Figure 03 Arasındaki Fark

Ş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. Çalıştırma 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. Ardından thread nesnesi oluşturulur. Bu thread1'dir. İş parçacığı start() yöntemi kullanılarak başlatılır. run() yöntemine bir çağrı yürütecektir.

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

Runnable ve Thread Arasındaki Temel Fark
Runnable ve Thread Arasındaki Temel Fark

Ş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 sınıfı 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, thread1 ve thread2'yi oluşturur ve başlatır. Ana iş parçacığı ana yöntemin sonuna ulaştığında, üç iş parçacığı paralel olarak çalışır. İş parçacıklarının çıktı verdiği belirli bir sıra yoktur. İş parçacığı başlatıldığında, yürütecekleri sıraya karar vermek zordur. Bağımsız çalışırlar.

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 vs Thread

Runnable, birçok iş parçacığının aynı iş parçacığı nesnesini paylaşmasına izin veren bir iş parçacığı oluşturmak için Java'da 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'da 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 iş parçacığı benzersiz bir nesne oluşturur, bu nedenle daha fazla bellek gerektirir.
Genişletme Yeteneği
Runnable arayüzünü 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 bir sınıfı genişletemez.
Kod Bakımı
Çalıştırılabilir arayüz, kodun daha sürdürülebilir olmasını sağlar. Thread sınıfında bakım yapmak zaman alıcıdır.

Özet – Runnable vs Thread

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 iş parçacığı olarak bilinir. Bir iş parçacığının başlatılması, Runnable arabirimi uygulanarak veya Thread Class'ı genişleterek yapılabilir. Thread sınıfını genişletmek kolaydır, ancak daha iyi bir Nesne Yönelimli Programlama uygulaması değildir. Runnable'ı uygularken, birçok iş parçacığı aynı iş parçacığı nesnesini paylaşabilirken, Thread 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 vs Thread'ın PDF'sini indirin

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

Önerilen: