estoy plenamente consciente del impacto de marcar un hilo como un hilo de utilidad en la salida JVM (si toda la salida hilos no demonio, la JVM se cerrará.)¿Qué significa ser un hilo daemon?
¿Hay otros efectos secundarios a establecer un hilo como un daemon?
(como un completo aparte, que es realmente irrelevante excepto para la semántica, el significado de un hilo daemon no es al revés en este caso: ¿un hilo daemon debería mantener viva la JVM ... por ejemplo, si escribiera mi propio daemon HTTP y lo comencé a ejecutar, ¿no querría que la JVM permanezca activa mientras ese hilo esté vivo? ¿O hay alguna otra semántica para el término 'daemon'?)
Normalmente tiene subprocesos de daemon y subprocesos no de daemon ejecutándose al mismo tiempo: los subprocesos no-demonio están haciendo un trabajo útil, pero los subprocesos de daemon están ahí esperando que ocurra algo. Después de que se realiza el trabajo útil, el programa debe salir; no quieres que se sostenga por hilos que no están haciendo nada. En su ejemplo, el daemon HTTP es un proceso * daemon *, no un hilo daemon. Uno podría imaginar una computadora de escritorio que se apaga cuando no se están ejecutando procesos que no sean demonios, y no le gustaría que un servidor la mantuviera encendida. (O tal vez lo haría ... lo que sea, no es el mejor nombre.) –
Sí - entiendo el comportamiento perfectamente, y explotándolo regularmente. Mi comentario completamente al azar fue solo una pregunta para ver si otros estaban de acuerdo con la confusión del nombre :) – Jared
No es realmente confuso, se espera que un daemon nunca salga - para estar siempre ejecutándose cuando el programa se está ejecutando, ya que NUNCA salgan realmente, no deberían detener la salida del programa. –