Ein Thread ist ein leichter Prozess. Threads reduzieren die Ineffizienz, indem sie die Verschwendung von CPU-Zyklen verhindern. Java ist eine beliebte und einfache Programmiersprache und bietet integrierte Unterstützung für . Jeder Thread hat seine Priorität und der mit der höheren Priorität wird tendenziell schneller ausgeführt. Im Gegensatz zu anderen Threads sind Daemon-Threads in Java ein Thread mit niedriger Priorität, der im Hintergrund ausgeführt wird.
In diesem Blog werden Sie in der folgenden Reihenfolge mit Java Daemon-Threads vertraut gemacht.
Anwendung der Big-Data-Analyse
Lass uns anfangen. :-)
Was ist ein Daemon-Thread in Java?
Daemon-Thread in Java bietet Service für den Benutzer-Thread, der im Hintergrund ausgeführt wird. Es wird als Thread mit niedriger Priorität betrachtet, der zum Ausführen von Aufgaben wie der Speicherbereinigung verwendet wird. In Java hat jeder Thread seine Priorität und derjenige mit der höheren Priorität wird tendenziell schneller ausgeführt. Ebenfalls, Java Virtual Machine (JVM) Beendet diesen Thread automatisch. Es kann nicht verhindern, dass JVM beendet wird, wenn alle Benutzer-Threads ihre Ausführung beendet haben, selbst wenn der Daemon-Thread selbst ausgeführt wird.
Lassen Sie uns in Zukunft sehen, wie sich Daemon-Threads von Benutzer-Threads (Nicht-Daemon) unterscheiden.
Daemon Thread vs User Threads
Der Hauptunterschied zwischen einem Daemon-Thread und einem Benutzer-Thread liegt in der JVM. Wie oben erläutert, wartet Java Virtual Machine nicht darauf, dass ein Daemon-Thread seine Ausführung beendet, während er darauf wartet, dass der Benutzer-Thread beendet wird. Lassen Sie uns anhand einer folgenden Tabelle einige weitere Unterschiede zwischen Daemon-Thread und Benutzer-Thread untersuchen:
Daemon-Threads | Benutzer-Threads (Nicht-Daemon) |
Daemon-Threads werden von JVM erstellt | Benutzer-Threads werden von einer Anwendung selbst erstellt |
JVM wartet nicht auf seine Ausführung | JVM wartet, bis die Ausführung abgeschlossen ist |
Threads mit niedriger Priorität | Threads mit hoher Priorität |
Wird für Hintergrundaufgaben verwendet (nicht kritisch) | Wird für Vordergrundaufgaben verwendet (kritisch) |
Das Leben ist abhängig von Benutzer-Threads | Das Leben ist unabhängig |
Nachdem Sie den Unterschied zwischen Daemon- und Benutzer-Threads erkannt haben, sehen wir uns anhand eines Beispielprogramms an, ob ein Thread ein Daemon- oder ein Nicht-Daemon-Thread ist.
public class ExampleThread erweitert Thread {@Override public void run () {System.out.println ('Benutzer-Thread oder Nicht-Daemon-Thread')} public static void main (String [] args) {ExampleThread obj = new ExampleThread () obj .start () System.out.println ('ist' + obj.getName () + 'ein Daemon-Thread:' + obj.isDaemon ()) System.out.println ('ist' + Thread.currentThread (). getName () + 'ein Daemon-Thread:' + Thread.currentThread (). isDaemon ())}}
Ausgabe: ist Thread-0 ein Daemon-Thread: false
Benutzer-Thread oder Nicht-Daemon-Thread
ist hauptsächlich ein Daemon-Thread: false
In Zukunft sehen wir uns verschiedene Methoden im Daemon-Thread in Java an.
Methoden im Java Daemon Thread
Es gibt zwei Hauptmethoden für einen Daemon-Thread in Java:
Methoden | Beschreibung |
public void setDaemon (Boolescher Status) | Markiert diesen Thread entweder als Daemon-Thread oder als Benutzer-Thread (Nicht-Daemon-Thread). |
public boolean isDaemon () | Wird verwendet, um zu testen, ob dieser Thread ein Daemon-Thread ist oder nicht. Gibt true zurück, wenn der Thread Daemon ist, andernfalls false. |
Betrachten Sie den folgenden Code für die praktische Implementierung:
public class Demothread erweitert das Java-Programm Thread {//, um die Verwendung der Methoden // setDaemon () und isDaemon () zu demonstrieren. public Demothread (String name) {super (name)} public void run () {// Überprüfen, ob der Thread Daemon ist oder nicht if (Thread.currentThread (). isDaemon ()) {System.out.println (getName () + 'ist Daemon-Thread')} else {System.out.println (getName () + 'ist User-Thread')}} public static void main (String [] args) {Demothread thread1 = neuer Demothread ('thread1') Demothread thread2 = neuer Demothread ('thread2') Demothread thread3 = neuer Demothread ('thread3') // Benutzer-Thread thread1 auf Daemon setzen thread1.setDaemon (true) // erste 2 Threads starten thread1.start () thread2.start () / / Benutzer-Thread thread3 auf Daemon setzen thread3.setDaemon (true) thread3.start ()}}
Ausgabe:
thread2 ist Benutzer-Thread
thread1 ist ein Daemon-Thread
Dies ist das Ende des Blogs „Daemon-Thread in Java“. Ich hoffe ihr seid klar mit dem Inhalt, den ich oben besprochen habe. Lies meinen nächsten Blogauf Hier habe ich die 75 wichtigsten Interviewfragen und -antworten aufgelistet, die Ihnen dabei helfen, sich im Interviewprozess von anderen abzuheben.
Nachdem Sie Java Collections verstanden haben, lesen Sie die von Edureka, einem vertrauenswürdigen Online-Lernunternehmen mit einem Netzwerk von mehr als 250.000 zufriedenen Lernenden auf der ganzen Welt. Der Java J2EE- und SOA-Schulungs- und Zertifizierungskurs von Edureka richtet sich an Studenten und Fachleute, die Java-Entwickler werden möchten. Der Kurs soll Ihnen einen Vorsprung in die Java-Programmierung verschaffen und Sie sowohl für grundlegende als auch für fortgeschrittene Java-Konzepte sowie für verschiedene Java-Frameworks wie Hibernate & Spring schulen.
Hast du eine Frage an uns? Bitte erwähnen Sie es in den Kommentaren dieses “Daemon-Thread in Java”Blog und wir werden uns so schnell wie möglich bei Ihnen melden.
Java, wie man Double in Int konvertiert