In diesem Artikel wird eine vollständige Anleitung zum Multithreading in Java vorgestellt und für ein tiefes Verständnis die folgenden Konzepte abdecken:
Also lasst uns anfangen!
Was ist Multithreading
Es ist ein Prozess, der es uns ermöglicht, mindestens zwei Threads gleichzeitig auszuführen, und es wird auch als Parallelität in Java bezeichnet. Java multithreading maximiert die CPU. Darüber hinaus speichert es den Speicher wie beim Multithreading, dass es keinen separaten Speicher für mehrere Threads zuordnen muss.
Warum Multithreading in Java wichtig ist
Multithreading bietet eine breite Palette von Merkmalen und die Bedeutung des Java-Multithreading kann anhand der unterlisteten Merkmale bewertet werden:
Hier sind nur wenige Funktionen aufgeführt. Es gibt jedoch viele weitere wie Skalierbarkeit, Kosteneffizienz usw. das zeigt die Dominanz des Multithreading.
Lebenszyklus von Fäden in Java
Ab sofort haben wir gelernt, was Multithreading ist und warum es in Java so wichtig ist? Jetzt werden wir den Lebenszyklus des Threads kennenlernen, der aus verschiedenen Zuständen besteht, wie unten aufgeführt:
Neu: In diesem Zustand wird ein Thread mit dem initiiert/erstellt "Gewinde" Klasse oder "Runnable" Schnittstelle. Es bleibt in diesem Zustand, bis ein Programm startet/initiiert einen Thread.
Laufbar: Innerhalb dieses Zustands wird die Instanz des Threads mithilfe einer integrierten Methode start () aufgerufen und der Thread bleibt im Laufstatus, bis eine Aufgabe ausgeführt wird.
Betrieb: In diesem Zustand startet ein Thread die Ausführung.
Warten: Innerhalb dieser Phase geht der Faden in einen vorübergehend inaktiven Zustand, was bedeutet, dass entweder ein Faden schläft, wartet oder in einem blockierten Zustand.
Kündigt/tot: Ein Thread tritt in diesen Zustand ein, wenn eine Ausnahme eintritt oder wenn der Thread seine Ausführung/Verarbeitung abschließt.
Java-Build-In-Methoden für Multithreading
Es gibt eine Liste von vordefinierten Java -Methoden, die in den Threads verwendet werden können, um unterschiedliche Funktionen zu erreichen. Einige häufig verwendete Methoden sind in der folgenden Tabelle aufgeführt:
Methodenname | Beschreibung |
---|---|
Start() | Es wird verwendet, um die Ausführung des Threads zu starten. |
laufen() | führt spezifische Aktionen für einen Thread aus. |
GetName () | Gibt den Namen des Threads zurück. |
Ertrag () | Halt den aktuellen Thread und ermöglicht es anderen, auszuführen. |
SetPriority (int NewPriority) | Gibt die Priorität des Threads an. |
GetPriority () | Gibt die Priorität des Threads zurück. |
Schlaf (int Millisekunden) | Schläft den Faden für einen bestimmten Zeitraum. |
getid () | Gibt die ID des Threads zurück. |
Praktische Implementierung von Multithreading in Java
Jetzt ist es Zeit, das Konzept des Java -Multithreading mithilfe der praktischen Implementierung zu verstehen. Wir werden also ein Beispiel in Betracht ziehen, in dem wir Multithreading durchführen und einige der oben genannten integrierten Methoden verwenden.
Beispiel
In diesem Beispiel werden wir das Multithreading durch die Implementierung der Runnable -Schnittstelle durchführen:
öffentliche Klasse MultithreadingExample implementiert RunnableIm obigen Code -Snippet implementieren wir die Java Runnable -Schnittstelle und innerhalb der Klasse verwenden wir die @Override Annotation, die zeigt, dass die "MultithreadingExample" überschreibt die laufen() Methode der Runnable -Schnittstelle. Anschließend erstellen wir mehrere Threads und starten die Ausführung des Threads mit der Start() Methode. Schließlich erhalten wir die Namen des Threads mit dem GetName () Methode und drucken Sie sie wie im folgenden Snippet gezeigt:
Dies überprüft die Arbeit von Multi-Threads in Java.
Im obigen Beispiel führen wir Multithreading durch Implementierung durch Laufbar Schnittstelle. Wir können jedoch auch Multithreading durchführen, indem wir eine vordefinierte Ausdehnung durchführen Gewinde Klasse, wie im folgenden Snippet gezeigt:
öffentliche Klasse Multithreadingxample erweitert ThreadDurch Erweiterung der Thread -Klasse können Sie die Funktionen der vordefinierten Java -Methoden in Anspruch nehmen.
Abschluss
Multithreading ermöglicht die gleichzeitige Ausführung von zwei oder mehr Threads, die die CPU -Nutzung maximiert, Zeit, Speicher usw. spart. Multithreading kann durch Erweiterung oder Implementierung der Thread -Klasse oder der Runnable -Schnittstelle durchgeführt werden. Verschiedene integrierte Methoden der Thread-Klasse und der Runnable-Schnittstelle können im Multithreading verwendet werden, um verschiedene Funktionen wie das Anhalten des aktuellen Threads und die Ausführung anderer Threads, die Priorität für die Threads usw. zu ermöglichen.
Diese Beschreibung erklärt verschiedene Aspekte des Multithreading, z.