917 Stimmen

Was ist ein Daemon-Thread in Java?

Kann mir jemand sagen, was Daemon-Threads in Java sind?

25 Stimmen

En Thread javadoc beschreibt, was sie sind: java.sun.com/javase/6/docs/api/java/lang/Thread.html

1 Stimmen

4 Stimmen

Bei Daemon-Threads werden beim Anhalten der JVM alle Daemon-Threads beendet. Aus diesem Grund sollten Daemon-Threads nicht häufig verwendet werden, da sie möglicherweise nicht bereinigt werden. Zum Beispiel würde jede E/A nicht ordnungsgemäß beendet und bis zum Ende geschrieben/gelesen.

38voto

Jack Punkte 128223

A Daemon-Thread ist ein Thread, der einige Aufgaben im Hintergrund erledigt, wie die Bearbeitung von Anfragen oder verschiedene Chronjobs, die in einer Anwendung existieren können.

Wenn Ihr Programm nur über Daemon-Threads verbleibt, wird es beendet. Das liegt daran, dass diese Threads in der Regel mit normalen Threads zusammenarbeiten und Ereignisse im Hintergrund verarbeiten.

Sie können festlegen, dass ein Thread es un Daemon eine durch die Verwendung von setDaemon Methode werden sie normalerweise nicht beendet und auch nicht unterbrochen, sondern bleiben einfach stehen, wenn die Anwendung beendet wird.

1 Stimmen

Das liegt daran, dass es sich um einen Daemon-Thread handelt, und das ist die Bedeutung von "Daemon". Ihre Argumentation ist verkehrt herum.

14voto

soubhagini Punkte 141

Daemon-Thread und Benutzer-Threads. Im Allgemeinen sind alle vom Programmierer erstellten Threads Benutzer-Threads (es sei denn, Sie haben sie als Daemon-Threads definiert oder ihr Eltern-Thread ist ein Daemon-Thread). User-Threads sind im Allgemeinen dazu gedacht, unseren Programmcode auszuführen. Die JVM beendet sich erst, wenn alle User-Threads beendet sind.

5voto

Chanikag Punkte 1379

Ein Daemon-Thread ist wie ein normaler Thread, mit dem Unterschied, dass die JVM nur dann herunterfährt, wenn die anderen Threads, die keine Daemons sind, nicht existieren. Daemon-Threads werden in der Regel verwendet, um Dienste für Ihre Anwendung auszuführen.

4voto

Manish Malhotra Punkte 80

Daemon-Threads sind, wie jeder erklärt, wird nicht zwingen, JVM zu beenden, so dass im Grunde seine eine glückliche Thread für die Anwendung von Exit-Punkt der Ansicht.

Möchten Sie hinzufügen, dass Daemon-Threads verwendet werden können, wenn sagen, ich bin eine API wie Pushen von Daten zu einem 3rd-Party-Server / oder JMS, ich möglicherweise brauchen, um Daten auf der Client-JVM-Ebene zu aggregieren und dann an JMS in einem separaten Thread senden. Ich kann diesen Thread als Daemon-Thread einrichten, wenn es sich nicht um obligatorische Daten handelt, die an den Server gesendet werden müssen. Diese Art von Daten ist wie Log-Push / Aggregation.

Grußworte, Manish

0 Stimmen

Hier ist ein einfaches Programm, das einen Daemon-Thread in Java zeigt. journaldev.com/1072/java-daemon-thread-beispiel

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X