Unterschied Zwischen Runnable Und Thread

Inhaltsverzeichnis:

Unterschied Zwischen Runnable Und Thread
Unterschied Zwischen Runnable Und Thread

Video: Unterschied Zwischen Runnable Und Thread

Video: Unterschied Zwischen Runnable Und Thread
Video: Thread и Runnable. Java Professional. Урок 13 2024, November
Anonim

Hauptunterschied - Runnable vs Thread

Ein ausgeführtes Programm wird als Prozess bezeichnet. Der Prozess kann in mehrere Unterprozesse unterteilt werden. Beispielsweise ist Microsoft Word ein Prozess. Gleichzeitig wird nach Rechtschreibfehlern und Grammatik gesucht. 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. Runnable und Thread sind mit der Java-Programmierung verbunden. In Java gibt es zwei Methoden, um einen Thread zu erstellen, indem eine ausführbare Schnittstelle implementiert oder die Thread-Klasse erweitert wird. Bei der Implementierung von Runnable können viele Threads dasselbe Thread-Objekt gemeinsam nutzen, während in der Klasse "Thread erweitern" jedem Thread ein eindeutiges Objekt zugeordnet ist. Das ist der Hauptunterschied zwischen Runnable und Thread.

INHALT

1. Übersicht und

Hauptunterschied 2. Was ist lauffähig

3. Was ist Thread

4. Ähnlichkeiten zwischen lauffähig und Thread

5. Nebeneinander Vergleich - Runbar gegen Thread in tabellarischer Form

6. Zusammenfassung

Was ist lauffähig?

Ein Thread durchläuft einige Zustände. Das „Neue“ist der Beginn des Thread-Lebenszyklus. Nachdem die Methode start () einen neuen Thread aufgerufen hat, kann dieser ausgeführt werden. Wenn der Thread-Scheduler den Thread auswählt, wechselt er in den laufenden Zustand. 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 über die Runnable-Schnittstelle implementiert werden. Siehe das folgende Programm.

Unterschied zwischen Runnable und Thread
Unterschied zwischen Runnable und Thread

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 in 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 Methode start () wird mit t1 aufgerufen.

Siehe das folgende Programm.

Unterschied zwischen Runnable und Thread Figure 02
Unterschied zwischen Runnable und Thread Figure 02

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

Gemäß dem obigen Beispiel implementiert die Klasse Runnable Demo die Runnable-Schnittstelle. Die Logik, die mit dem Thread ausgeführt werden soll, ist in der Methode run () 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 darin, die Thread-Klasse zu erweitern. Es besteht aus drei Schritten. Zunächst muss die Klasse als Erweiterung der Thread-Klasse deklariert werden. Anschließend 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 aufgerufen, um die Ausführung des Threads zu initiieren. Siehe das folgende Programm.

Unterschied zwischen Runnable und Thread Figure 03
Unterschied zwischen Runnable und Thread Figure 03

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

Gemäß dem obigen Programm erweitert die MyThread-Klasse die Thread-Klasse. Es überschreibt die Ausführungsmethode. 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 Methode start () gestartet. Es wird ein Aufruf der Methode run () ausgeführt.

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

Hauptunterschied zwischen Runnable und Thread
Hauptunterschied zwischen Runnable und Thread

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

Gemäß dem obigen Programm erweitern sowohl Klasse A als auch Klasse B die Thread-Klasse. Beide Klassen haben die Implementierung der run () -Methode. Der Hauptthread führt die main () -Methode aus. Bevor der Haupt-Thread stirbt, erstellt und startet er Thread1 und Thread2. Bis der Hauptthread das Ende der Hauptmethode erreicht hat, werden drei Threads parallel ausgeführt. Es gibt keine bestimmte Reihenfolge, in der die Threads ausgegeben werden. 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 Runnable und Thread?

Diff Artikel Mitte vor Tabelle

Runnable vs Thread

Runnable ist eine Schnittstelle in Java zum Erstellen eines Threads, mit dem viele Threads dasselbe Threadobjekt gemeinsam nutzen können. Der Thread ist eine Klasse in Java, um einen Thread zu erstellen, dem jeder Thread ein eindeutiges Objekt zugeordnet ist.
Erinnerung
In Runnable verwenden mehrere Threads dasselbe Objekt und benötigen daher weniger Speicher. 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. Mehrfachvererbungen werden in Java nicht unterstützt. Nach dem Erweitern der Thread-Klasse kann keine andere Klasse erweitert werden.
Code-Wartbarkeit
Die ausführbare Schnittstelle macht den Code wartbarer. In der Thread-Klasse ist die Wartung zeitaufwändig.

Zusammenfassung - Runnable 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 Runnable-Schnittstelle oder durch Erweitern der Thread-Klasse erfolgen. Es ist einfach, die Thread-Klasse zu erweitern, aber es ist keine bessere objektorientierte Programmierpraxis. Bei der Implementierung von Runnable können viele Threads dasselbe Thread-Objekt gemeinsam nutzen, während beim Erweitern 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 Speicher belegen.

Laden Sie das PDF von Runnable vs Thread herunter

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

Empfohlen: