Es geht um folgendes Runnable:
Ich habe hier versucht, den Thread mittels einem ShutdownHook zu beenden, wenn sich die ganze Anwendung beendet. Der ShutdownHook soll über
die while-Schleife beenden und somit die run()-Methode auslaufen lassen, damit der entsprechende Task beendet wird. Das passiert aber leider nicht. Offenbar wird der ShutdownHook nicht gestartet. Kann mir bitte einer sagen, wo mein Denkfehler liegt?
Code:
public class MyTask implements Runnable {
private Boolean alive;
@Override
public void run() {
alive = true;
Runtime.getRuntime().addShutdownHook(new Thread() {
@Override
public void run() {
alive = false;
}
});
while (alive) {
// mache dies immer
}
}
}
Code:
alive = false;