Hallo Java-Community,
ich habe mich ein wenig über Threads informiert und einiges verstanden aber bei dieser Aussage bin ich stutzig geworden..
Quelle: Java ist auch eine Insel – 9.6 Dämonen
Will der Autor mir damit im Ernst sagen, wenn ein anderer Thread "System.exit(0);" aufruft würde eine Endlosschleife weiter laufen also sollte die Endlosschleife ein Daemon-Thread sein?
Wenn der Endlosschleifen-Thread kein Daemon-Thread ist und das Programm beendet wird läuft doch die Schleife nicht weiter oder?!
danke im vorraus für eure Aufklärung..
ich habe mich ein wenig über Threads informiert und einiges verstanden aber bei dieser Aussage bin ich stutzig geworden..
9.6 Dämonen toptop
Ein Server reagiert oft in einer Endlosschleife auf eingehende Aufträge und führt die gewünschte Aufgabe aus. In unseren bisherigen Programmen ist aufgefallen, dass ein gestarteter Thread, sofern er eine Endlosschleife wie ein Server enthält, nie beendet wird. Wenn also run(), wie in den vorangehenden Beispielen, nie abbricht (Informatiker sprechen hier von terminiert), so läuft der Thread immer weiter, auch wenn die Hauptapplikation beendet ist. Dies ist nicht immer beabsichtigt, denn Server-Funktionalität ist nicht mehr gefragt, wenn die Applikation beendet ist. Dann sollte auch der endlose Thread beendet werden. Um das auszudrücken, erhält ein im Hintergrund arbeitender Thread eine spezielle Kennung: Der Thread wird als Dämon1 gekennzeichnet. Standardmäßig ist ein Thread kein Dämon.
Quelle: Java ist auch eine Insel – 9.6 Dämonen
Will der Autor mir damit im Ernst sagen, wenn ein anderer Thread "System.exit(0);" aufruft würde eine Endlosschleife weiter laufen also sollte die Endlosschleife ein Daemon-Thread sein?
Wenn der Endlosschleifen-Thread kein Daemon-Thread ist und das Programm beendet wird läuft doch die Schleife nicht weiter oder?!
danke im vorraus für eure Aufklärung..