Si quiere decir: ¿cómo puedo iniciar un hilo de Java que no terminará cuando lo haga mi JVM (programa de Java)?.
The answer is: you can't do that.
Debido a que en Java, si la JVM sale, todas las discusiones se llevan a cabo. Este es un ejemplo:
class MyRunnable implements Runnable {
public void run() {
while (true) {
doThisVeryImportantThing();
}
}
}
El programa anterior se puede iniciar desde el hilo principal, por ejemplo, este código:
MyRunnable myRunnable = new MyRunnable();
Thread myThread = new Thread(myRunnable);
myThread.start();
Este programa de ejemplo que nunca se detendrá, a menos que algo en doThisVeryImportantThing
terminará ese hilo. Usted podría funcionar como un demonio, como en este ejemplo:
MyRunnable myRunnable = new MyRunnable();
Thread myThread = new Thread(myRunnable);
myThread.setDaemon(true); // important, otherwise JVM does not exit at end of main()
myThread.start();
Esto se asegurará de que, si termina el() hilo principal, sino que también terminará miThread.
Sin embargo, puede iniciar una JVM diferente de Java, por eso es posible que desee echa un vistazo a esta pregunta: Launch JVM process from a Java application use Runtime.exec?
Sé que es tarde, pero echó un vistazo a ['ProcessBuilder'] (http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html) como un opción diferente? – mkobit