Unterschied zwischen Runable und Thread

Schlüsseldifferenz - lauffähig vs Thread
 

Ein in Ausführung befindliches Programm wird als Prozess bezeichnet. Der Prozess kann in mehrere Unterprozesse unterteilt werden. Zum Beispiel ist Microsoft Word ein Prozess. Gleichzeitig wird auf Rechtschreibfehler und Grammatik geprüft. Das ist ein Teilprozess. Diese Unterprozesse werden als Threads bezeichnet. Beim Multithreading werden mehrere Threads gleichzeitig ausgeführt. Threaded-Anwendungen können mit verschiedenen Programmiersprachen erstellt werden. Runable und Thread sind mit der Java-Programmierung verbunden. Es gibt zwei Methoden in Java, um einen Thread zu erstellen, indem Sie eine ausführbare Schnittstelle implementieren oder die Thread-Klasse erweitern. Bei der Implementierung von Runnable können viele Threads dasselbe Threadobjekt gemeinsam verwenden, während in der Klasse "Thread erweitern" jedem Thread ein eindeutiges Objekt zugeordnet ist. Das ist die Hauptunterschied zwischen Runable und Thread.

INHALT

1. Übersicht und Schlüsseldifferenz
2. Was ist lauffähig?
3. Was ist Thread?
4. Ähnlichkeiten zwischen Runable und Thread
5. Side-by-Side-Vergleich - Runable vs. Thread in tabellarischer Form
6. Zusammenfassung

Was ist lauffähig??

Ein Thread durchläuft einige Zustände. Das "neue" ist der Beginn des Lebenszyklus des Gewindes. Nachdem die start () -Methode einen neuen Thread aufgerufen hat, ist sie lauffähig. Wenn der Thread-Scheduler den Thread auswählt, wechselt er in den laufenden Status. Der Thread wartet auf den Status, wenn dieser Thread darauf wartet, dass ein anderer Thread eine Aufgabe ausführt. Nachdem der Thread die Arbeit abgeschlossen hat, wechselt er in den Beendigungsstatus.

Ein Thread kann mithilfe der Runnable-Schnittstelle implementiert werden. Siehe das untenstehende Programm.

Abbildung 01: Java-Programm zum Erstellen eines Threads mithilfe der Runnable-Schnittstelle

Gemäß dem obigen Programm implementiert die Klasse Runnable Demo die Runnable-Schnittstelle. Die run () -Methode befindet sich innerhalb der Klasse, die die Runnable-Schnittstelle implementiert. Es ist der Einstiegspunkt für den Thread. Die Logik befindet sich in der run () -Methode. Im Hauptprogramm wird ein Thread erstellt, indem ein Objekt definiert wird, das aus der Runnable Demo-Klasse instanziiert wurde. Es ist t1. Die start () -Methode wird mit t1 aufgerufen.

Siehe das untenstehende Programm.

Abbildung 02: Java-Programm zum Erstellen eines Threads zum Ausführen einer Schleife durch Implementierung der Runnable-Schnittstelle

Gemäß dem obigen Beispiel implementiert die Klasse Runnable Demo eine Runnable-Schnittstelle. Die mit dem Thread auszuführende Logik wird in die run () - Methode geschrieben. Im Hauptprogramm wird ein Thread erstellt, indem ein Objekt definiert wird, das aus der Runnable Demo-Klasse instanziiert wurde. Es ist t1. Dann wird die start () -Methode mit t1 aufgerufen.

Was ist Thread??

Die andere Methode zum Erstellen eines Threads besteht in der Erweiterung der Thread-Klasse. Es besteht aus drei Schritten. Zuerst muss die Klasse als Erweiterung der Thread-Klasse deklariert werden. Danach sollte die run () -Methode geschrieben werden. Es hat die Reihenfolge der Schritte, die der Thread ausführen soll. Schließlich wird das Thread-Objekt erstellt und die start () -Methode wird aufgerufen, um die Ausführung des Threads zu initiieren. Siehe das untenstehende Programm.

Abbildung 03: Java-Programm, das die Thread-Klasse erweitert

Gemäß dem obigen Programm erweitert die MyThread-Klasse die Thread-Klasse. Sie überschreibt die Run-Methode. Die run () -Methode enthält die vom Thread auszuführende Logik. Es ist der Einstiegspunkt in den Thread. Dann wird das Thread-Objekt erstellt. Es ist thread1. Der Thread wird mit der start () -Methode gestartet. Es wird ein Aufruf an die run () -Methode ausgeführt.

Ein Beispielprogramm für zwei Klassen, die die Thread-Klasse erweitern, ist wie folgt.

Abbildung 04: Java-Programm mit zwei Klassen, die die Thread-Klasse erweitern

Gemäß dem obigen Programm erweitern beide Klassen A und B die Thread-Klasse. Beide Klassen haben ihre Implementierung der run () -Methode. Der Haupt-Thread führt die main () -Methode aus. Bevor der Haupt-Thread stirbt, erstellt und startet er Thread1 und Thread2. Wenn der Haupt-Thread das Ende der Hauptmethode erreicht hat, werden drei Threads parallel ausgeführt. Es gibt keine bestimmte Reihenfolge, in der die Threads eine Ausgabe abgeben. Sobald der Thread gestartet ist, ist es schwierig, die Reihenfolge zu bestimmen, in der er ausgeführt wird. Sie laufen unabhängig voneinander.

Was sind die Ähnlichkeiten zwischen Runnable und Thread?

  • Beide verwenden, um einen Thread in Java zu erstellen.

Was ist der Unterschied zwischen Runable und Thread?

Runable gegen Thread

Runnable ist eine Schnittstelle in Java, um einen Thread zu erstellen, der es vielen Threads ermöglicht, dasselbe Thread-Objekt gemeinsam zu nutzen. Der Thread ist eine Klasse in Java, um einen Thread zu erstellen, bei dem jedem Thread ein eindeutiges Objekt zugeordnet ist.
 Erinnerung
In Runnable verwenden mehrere Threads dasselbe Objekt, sodass weniger Speicher erforderlich ist. In der Thread-Klasse erstellt jeder Thread ein eindeutiges Objekt und benötigt daher mehr Speicher.
Fähigkeit erweitern
Nach der Implementierung der Runnable-Schnittstelle kann eine Klasse erweitert werden. Mehrere Vererbungen werden in Java nicht unterstützt. Nach dem Erweitern der Thread-Klasse kann keine andere Klasse erweitert werden.
 Wartbarkeit des Codes
Die ausführbare Schnittstelle macht den Code leichter zu pflegen. In der Thread-Klasse ist die Pflege zeitaufwändig.

Zusammenfassung - Runable vs Thread 

Ein Prozess ist in mehrere Unterprozesse unterteilt, um mehrere Aufgaben gleichzeitig auszuführen. Diese Unterprozesse werden als Threads bezeichnet. Das Instanziieren eines Threads kann durch Implementieren der ausführbaren Schnittstelle oder durch Erweitern der Thread-Klasse erfolgen. Es ist leicht, die Thread-Klasse zu erweitern, ist jedoch keine bessere Praxis für objektorientierte Programmierung. Bei der Implementierung von Runnable können viele Threads dasselbe Threadobjekt gemeinsam verwenden, während bei der Erweiterung der Thread-Klasse jedem Thread ein eindeutiges Objekt zugeordnet ist. Das ist der Unterschied zwischen Runnable und Thread. In der Thread-Klasse kann die Erstellung mehrerer Objekte mehr Speicherplatz beanspruchen.

Laden Sie das PDF von Runnable vs Thread herunter

Sie können die PDF-Version dieses Artikels herunterladen und gemäß dem Zitiervermerk für Offline-Zwecke verwenden. Laden Sie die PDF-Version hier herunter. Unterschied zwischen Runnable und Thread

Referenz:

1.Tutorialspoint.com. "Java Multithreading". Die Stelle, Hier verfügbar 
2.Pramodbablad. "Erweitert Thread Vs implementiert in Java lauffähig." Java-Konzept des Tages, 11. November 2016. Hier verfügbar
3.Wege zum Erstellen eines Threads in Java Multithreading | Core Java Tutorial | Studieren heute Nacht. Hier verfügbar