问题遇到的现象和发生背景
有个任务需要在各种情况下都能继续存活,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程序中,启动了一个线程,想要这个线程尽可能的一直存活,即使此线程被杀死,也有办法在短时间内进行重启。