2016-07-29 2 views
0

je suis en train d'essayer de tuer/arrêter Rengine thread mais je ne peux pas, même si l'appel méthode end() aussi. voir la paix de code ci-dessous.comment arrêter/tuer thread Rengine

Rengine engine = new Rengine(new String[] { "--no-save" }, false, null); 
---- 
---- 
engine.end(); 
System.out.println("engine::: "+engine); 

le résultat de sysout est

engine::: Thread[Thread-0,5,] 

alors comment tuer mon fil Rengine?

Répondre

0

Votre moteur est déjà fermé. Après que j'appelle .end() sur le Rengine il se ferme, et après cela s'il n'y a pas de code pour exécuter le java main() se termine aussi normalement. Si je mets System.out.println("engine::: "+engine); avant la sortie principale() et après avoir appelé engine.end(), je reçois aussi moteur ::: Thread [Thread-1,5, main].

sysout imprime simplement la référence à l'objet Rengine que vous avez créé. Par exemple. Si vous avez fait Rengine engine = new Rengine (new String [] {"–vanilla"}, false, null); puis lorsque vous imprimez le moteur après l'appel de fin(), il imprime simplement la référence de l'objet moteur.

J'espère que cela aide d'autres personnes à lire ici: What is Object Reference Variable?