Прерванная исключительная ситуация против isInterrupted в цикле while
Предположим, что у меня есть следующий код:
while(!Thread.currentThread().isInterrupted()){
//do something
Thread.sleep(5000);
}
В настоящее времяThread.sleep
генерирует `InterruptedException, поэтому должно быть так:
while(!Thread.currentThread().isInterrupted()){
//do something
try{
Thread.sleep(5000);
} catch(InterruptedException e){
}
}
Если я ударилcatch
будет лиwhile
цикл продолжить или мне нужно сделатьThread.currentThread().interrupt()
? Если я вызову этот метод, не вызовет ли этоInterruptedException
? Иначе как я получил исключение в первую очередь?
Также если у меня есть:
while (!Thread.currentThread().isInterrupted()){
//do something
callMethod();
}
private void callMethod(){
//do something
try {
Thread.sleep(5000);
} catch(InterruptedException e){
}
}
опять будет мойwhile
разрыв цикла?