Heim  >  Artikel  >  Java  >  Was sind die Eigenschaften und die Verwendung von Threads in Java?

Was sind die Eigenschaften und die Verwendung von Threads in Java?

王林
王林nach vorne
2023-05-20 12:07:291458Durchsuche

Ein Prozess kann mehrere Threads enthalten. Threads sind Komponenten des Prozesses. Jeder Thread muss sich auf den Prozess verlassen, zu dem er gehört. Threads verfügen über private Stacks, Programmzähler und lokale Variablen, können jedoch keine Systemressourcen besitzen. Es teilt alle Ressourcen des Prozesses mit anderen Threads des übergeordneten Prozesses.

Eigenschaften von Threads:

Threads können bestimmte Aufgaben ausführen und gemeinsam genutzte Variablen und einen Teil der Umgebung des übergeordneten Prozesses mit anderen Threads teilen und miteinander kooperieren komplette Aufgaben.

Threads laufen unabhängig voneinander und wissen nicht, ob sich noch andere Threads im Prozess befinden.

Die Ausführung von Threads erfolgt präventiv, das heißt, der aktuell ausgeführte Thread kann jederzeit angehalten werden, um einen anderen Thread auszuführen.

Ein Thread kann einen anderen Thread erstellen oder zerstören, und mehrere Threads in einem Prozess können gleichzeitig ausgeführt werden.

2: Erstellung und Verwendung von Threads

Java verwendet die Thread-Klasse, um Threads darzustellen. Die Rolle jedes Threads besteht darin, eine bestimmte Aufgabe auszuführen. Tatsächlich handelt es sich um die Ausführung eines Programmablaufs (ein Stück Code, der nacheinander ausgeführt wird)

Option 1: Erben Sie die Thread-Klasse, um einen Thread zu erstellen class

# 🎜🎜#Schritte:

1. Definieren Sie eine Unterklasse der Thread-Klasse und überschreiben Sie die Run-Methode der Klasse Aufgaben, die der Thread ausführen muss

# 🎜🎜#2 Erstellen Sie eine Instanz der Thread-Klasse, das heißt, erstellen Sie ein Thread-Objekt

3 Starten Sie den Thread Thread-Klasse, mehrere Threads können die Instanzvariablen der Thread-Klasse nicht gemeinsam nutzen, wie oben erwähnt Die Variable i

Option 2: Implementieren Sie die Runnable-Schnittstelle

Was sind die Eigenschaften und die Verwendung von Threads in Java?# 🎜🎜#1: Definieren Sie die Implementierungsklasse der Runnable-Schnittstelle und schreiben Sie ihre Run-Methode neu. Die Run-Methode ist auch der Ausführungskörper des Threads!

2: Erstellen Sie eine Instanz der Runnable-Implementierungsklasse und verwenden Sie diese Instanz als Ziel von Thread, um ein Thread-Objekt zu erstellen. Dieses Thread-Objekt ist das eigentliche Thread-Objekt! Was sind die Eigenschaften und die Verwendung von Threads in Java?

3: Aufrufen der Startmethode, um den Thread zu starten

Fazit: Durch das Erstellen mehrerer Threads mithilfe der Ruunable-Schnittstelle können Instanzvariablen der Thread-Klasse gemeinsam genutzt werden. Dies liegt daran, dass auf diese Weise das vom Programm erstellte Runnable-Objekt nur das Ziel des Threads ist und mehrere Threads ein Ziel, also mehrere, gemeinsam nutzen können Threads können eine Instanzvariable gemeinsam nutzen

Das Erreichen von Multithreading durch Runnable ist eigentlich eine Paketausführung in einen Thread-Ausführungskörper, aber derzeit kann Java keine Methode in einen Thread-Ausführungskörper einschließen

#🎜 🎜#Option 3:

Verwenden Sie Callable und Future, um Threads zu erstellenWas sind die Eigenschaften und die Verwendung von Threads in Java?

Ab Java5 stellt Java die Callable-Schnittstelle bereit, und die Callable-Schnittstelle stellt eine call()-Methode bereit das als Thread-Ausführungskörper verwendet werden kann, sieht Runnable sehr ähnlich, aber die call()-Methode ist leistungsfähiger – die call()-Methode kann einen Rückgabewert haben und die call()-Methode kann eine Ausnahme auslösen Was sind die Eigenschaften und die Verwendung von Threads in Java?

#🎜 🎜#

Java5 stellt die Future-Schnittstelle zur Darstellung des Rückgabewerts der call()-Methode der Callable-Schnittstelle bereit und stellt eine FutureTask-Implementierung bereit Klasse für die Future-Schnittstelle, die die Klasse Future-Schnittstelle implementiert, implementiert auch die Runnable-Schnittstelle – die als Ziel von Thread verwendet werden kann.

Implementierungsschritte:

1: Erstellen Sie eine Implementierungsklasse der Callable-Schnittstelle und implementieren Sie die Call-Methode zum Thread-Ausführungskörper, und die Call-Methode hat einen Rückgabewert. Erstellen Sie eine Implementierungsklasse der aufrufbaren Schnittstelle!

2: Verwenden Sie die FutureTask-Klasse, um das Callable-Objekt zu umschließen. Die FutureTask umschließt den Rückgabewert der Call-Methode der Klasse Callable.

3: Verwenden Sie das FutureTask-Objekt als Ziel des Threads, einen neuen Thread zu erstellen und zu starten!

4: Verwenden Sie die get-Methode von FutureTask, um den Rückgabewert nach der Ausführung zu erhalten

#🎜🎜 #

Fazit: Der Vorteil der Verwendung von Runnable und Callable besteht darin, dass die Thread-Klasse nur die Runnable- oder Callable-Schnittstelle implementiert und auch andere Klassen erben kann. Bei dieser Methode können mehrere Threads ein Zielobjekt gemeinsam nutzen Sehr geeignet für Situationen, in denen mehrere identische Threads dieselbe Ressource verarbeiten und so CPU, Code und Daten trennen. Das Modell mit klaren formalen Parametern verkörpert die Idee der objektorientierten Programmierung. Der Nachteil besteht darin, dass der Programmieraufwand etwas höher ist.

Das obige ist der detaillierte Inhalt vonWas sind die Eigenschaften und die Verwendung von Threads in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen