我有一个具有以下run()
方法的线程。
我编写了这段代码,以在2秒后得出结论,并在这2秒内没有中断发生时执行startNewRound()
。如果线程在isLateToTimeout = true
时中断,则应调用startNewRound()
并完成执行,以便终止线程。对于其他任何中断,它应再次开始等待2秒。
我想知道的是,在catch块中startNewRound()
调用之后,该线程是否将终止(如我上面所述)。
public void run() {
try {
Thread.sleep(2000);
System.out.println("FAILURE"));
startNewRound();
} catch (InterruptedException e) {
if (isLateToTimeout){
startNewRound();
}
else{
run();
}
}
}