Daemon-Thread in Java: Kennen Sie die Methoden?



Daemon-Thread in Java bietet Service für den Benutzer-Thread, der im Hintergrund ausgeführt wird. Lernen Sie die Methoden kennen und wie sie sich von Benutzer-Threads unterscheiden.

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. :-)



Java - Daemon - Thread in Java - Edureka

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