Si vous voulez dire: comment puis-je démarrer un thread Java qui ne se terminera pas lorsque ma JVM (programme java) le fera?.
The answer is: you can't do that.
Comme en Java, si la machine virtuelle Java sort, toutes les discussions sont faites. Voici un exemple:
class MyRunnable implements Runnable {
public void run() {
while (true) {
doThisVeryImportantThing();
}
}
}
Le programme ci-dessus peut être démarré à partir de votre thread principal, par exemple, ce code:
MyRunnable myRunnable = new MyRunnable();
Thread myThread = new Thread(myRunnable);
myThread.start();
Cet exemple programme ne sera jamais arrêter, à moins que quelque chose dans doThisVeryImportantThing
prendra fin ce fil. Vous pouvez l'exécuter comme un démon, comme dans cet exemple:
MyRunnable myRunnable = new MyRunnable();
Thread myThread = new Thread(myRunnable);
myThread.setDaemon(true); // important, otherwise JVM does not exit at end of main()
myThread.start();
Cela fera en sorte, si le thread principal() se termine, il sera également fin MyThread.
Vous pouvez cependant commencer une autre machine virtuelle Java à partir de Java, pour que vous pourriez vouloir vérifier cette question: Launch JVM process from a Java application use Runtime.exec?
Je sais que c'est en retard, mais avez-vous jeté un oeil à ['ProcessBuilder'] (http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html) en tant que option différente? – mkobit