Quiero escribir un daemon de línea de comandos que se ejecute para siempre. Entiendo que si quiero que la JVM pueda desconectarse correctamente en Linux, se debe ajustar la rutina de arranque mediante algún código C. Creo que estaré bien con un gancho de cierre por ahora.¿Future.get() es un reemplazo para Thread.join()?
a mis preguntas:
- Mi principal ([] String) bloque disparar un superdemonio separada.
- El Superdaemon sondeará y repetirá para siempre.
Así que normalmente lo haría:
class Superdaemon extends Thread { ... }
class Bootstrap
{
public static void main(String[] args)
{
Thread t = new Superdaemon();
t.start();
t.join();
}
}
Ahora que pensé que si empezaba superdemonio a través de un ejecutor, no puedo hacer
Future<?> f = exec.submit(new Superdaemon());
f.get();
Es Future.get()
implementado con Thread.join() ? Si no, ¿se comporta de manera equivalente?
Saludos,
Ashitaka
El problema es que libros como JCIP recomiendan que usemos ejecutores para iniciar subprocesos. Por lo tanto, hago mi mejor esfuerzo para no utilizar Thread.start(). No estoy seguro de si elegiría necesariamente una forma particular de hacer las cosas simplemente basada en la simplicidad. Debe haber una razón más convincente, ¿no? – ashitaka