Unterschied zwischen Runnable und Faden

Unterschied zwischen Runnable und Faden

Schlüsselunterschied - Runnable vs Thread
 

Ein Programm in der Ausführung wird als Prozess bezeichnet. Der Prozess kann in mehrere Subprozesse unterteilt werden. Zum Beispiel ist Microsoft Word ein Prozess. Gleichzeitig überprüft es den Rechtschreibfehler und die Grammatik. Das ist ein Subprozess. Diese Unterprozesse sind als Fäden bekannt. Multithreading ist der Prozess der gleichzeitigen Ausführung mehrerer Threads. Thread -Anwendungen können mit verschiedenen Programmiersprachen erstellt werden. Runnable und Thread sind mit der Java -Programmierung verbunden. In Java gibt es zwei Methoden, um einen Thread zu erstellen, indem eine runnable Schnittstelle implementiert oder die Thread -Klasse erweitert wird. Bei der Implementierung von Runnable können viele Threads das gleiche Thread -Objekt freigeben, während in der Erweiterung der Thread -Klasse jeder Thread ein eindeutiges Objekt zugeordnet ist. Das ist das Schlüsselunterschied zwischen Runnable und Faden.

INHALT

1. Überblick und wichtiger Unterschied
2. Was ist ausgeführt
3. Was ist Thread
4. Ähnlichkeiten zwischen Runnable und Faden
5. Seite für Seite Vergleich - Runnable vs Thread in tabellarischer Form
6. Zusammenfassung

Was ist ausgeführt?

Ein Thread geht durch einige Zustände. Das „Neue“ ist der Beginn des Fadenlebenszyklus. Nach der Start () -Methode ruft ein neuer Thread auf. Wenn der Thread -Scheduler den Thread auswählt, überträgt er 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, geht er zum Kündigungszustand aus.

Ein Thread kann mit der Runnable -Schnittstelle implementiert werden. Verweisen Sie das folgende Programm.

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

Nach dem obigen Programm implementiert die Klassenrunnable Demo die Runnable -Schnittstelle. Die Run () -Methode befindet sich in der Klasse, die eine 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 unter Verwendung von T1 aufgerufen.

Verweisen Sie das folgende Programm.

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

Gemäß dem obigen Beispiel implementiert die Klassenrunnable Demo eine runnable Schnittstelle. Die Logik, die mit dem Thread ausgeführt werden soll, ist in der 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 unter Verwendung von T1 aufgerufen.

Was ist Thread?

Die andere Methode zum Erstellen eines Threads ist die Erweiterung der Thread -Klasse. Es besteht aus drei Schritten. Erstens soll die Klasse als Erweiterung der Thread -Klasse deklarieren. Anschließend sollte die Run () -Methode geschrieben werden. Es hat die Abfolge von Schritten, die der Thread ausführen sollte.  Schließlich wird das Thread -Objekt erstellt, und die Start () -Methode wird aufgerufen, um die Ausführung des Threads zu initiieren. Verweisen Sie das folgende Programm.

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

Nach dem obigen Programm erweitert die MyThread -Klasse die Thread -Klasse. Es überschreibt die Run -Methode. Die Run () -Methode enthält die Logik, die vom Thread ausgeführt werden soll. Es ist der Einstiegspunkt zum Thread. Dann wird das Thread -Objekt erstellt. Es ist Thread1. Der Thread wird mit der Start () -Methode gestartet. Es wird einen Aufruf zur Run () -Methode ausführen.

Ein Beispielprogramm von zwei Klassen, die die Thread -Klasse erweitern, lautet wie folgt.

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

Nach dem obigen Programm erweitern sowohl Klasse A als auch B die Thread -Klasse. Beide Klassen haben ihre Implementierung der Run () -Methode.  Der Haupt -Thread ist, der die main () -Methode ausführt. Bevor der Hauptfaden stirbt, erstellt und startet er Thread1 und Thread2. Als der Hauptfaden das Ende der Hauptmethode erreichte, werden dreifäden parallel ausgeführt. Es gibt keine spezifische Reihenfolge, in der die Threads die Ausgabe ergeben. Sobald der Thread gestartet ist, ist es schwierig, die Reihenfolge zu entscheiden, die er ausführen wird. Sie laufen unabhängig.

Was sind die Ähnlichkeiten zwischen Runnable und Faden??

  • Beide erstellen einen Thread in Java.

Was ist der Unterschied zwischen Runnable und Faden?

Runnable vs Thread

Runnable ist eine Schnittstelle in Java, um einen Thread zu erstellen, mit dem viele Threads dasselbe Thread -Objekt freigeben können. Der Thread ist eine Klasse in Java, um einen Thread zu erstellen, in dem jeder Thread ein eindeutiges Objekt zugeordnet ist.
 Speicher
In Runnable teilen sich mehrere Threads dasselbe Objekt, also benötigen Sie weniger Speicher. In der Thread -Klasse erstellt jeder Thread ein eindeutiges Objekt und erfordert daher mehr Speicher.
Fähigkeit verlängern
Nach der Implementierung der Runnable -Schnittstelle kann sie eine Klasse erweitern. Mehrere Erbschaften werden in Java nicht unterstützt. Nach der Erweiterung der Thread -Klasse kann es keine andere Klasse erweitern.
 Code -Wartbarkeit
Die Runnable -Schnittstelle macht Code aufrechter. In der Thread-Klasse ist die Aufrechterhaltung zeitaufwändig.

Zusammenfassung -Runnable vs Thread 

Ein Prozess ist in mehrere Unterprozesse unterteilt, um mehrere Aufgaben gleichzeitig auszuführen. Diese Unterprozesse sind als Fäden bekannt. Das Instanziieren eines Thread. Es ist einfach, die Thread-Klasse zu erweitern, aber es ist keine bessere objektorientierte Programmierpraxis. Bei der Implementierung von Runnable können viele Threads das gleiche Thread -Objekt freigeben, während bei der Erweiterung der Thread -Klasse jeder Thread ein eindeutiges Objekt zugeordnet ist. Das ist der Unterschied zwischen Runnable und Faden. In der Thread -Klasse können mehrere Objekterstellung mehr Speicher verbrauchen.

Laden Sie den PDF von Runnable vs Thread herunter

Sie können die PDF -Version dieses Artikels herunterladen und ihn für Offline -Zwecke gemäß Citation Note verwenden. Bitte laden Sie den Unterschied zwischen Runnable und Thread die PDF -Version hier herunter

Referenz:

1.Tutorialspitze.com. „Java Multithreading.”Der Punkt, der hier erhältlich ist 
2.Pramodbablad. „Erweitert Thread vs implements, die in Java ausgeführt werden können.Java -Konzept des Tages, 11. November. 2016. Hier verfügbar
3.Möglichkeiten zum Erstellen eines Threads in Java multithreading | Kern -Java -Tutorial | Studytonight. Hier verfügbar