有个任务需要在各种情况下都能继续存活,Java程序中,启动了一个线程,想要这个线程尽可能的一直存活,即使此线程被kill -9,也有办法在短时间内进行重启。
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
//以下位置为业务逻辑,此业务逻辑会一直运行
while (true){
System.out.println("printing ....");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
}
});
thread.start();
System.out.println("main thread is over");
main thread is over
printing ....
printing ....
printing ....
printing ....
printing ....
printing ....
尝试过设置成守护线程,但守护线程并不是像它名字那样有守护的作用,而是在main线程结束后也结束了。
Java程序中,启动了一个线程,想要这个线程尽可能的一直存活,即使此线程被杀死,也有办法在短时间内进行重启。
kill -9杀死的是进程,你眼光只盯着线程,那能解决进程的问题吗
就好像保镖只盯着周围有没有拿枪的人,天上飞机扔炸弹反而不管
你要设置守护进程啊