Przerwany wyjątek vs jest przerwany w pętli chwilowej
Załóżmy, że mam następujący kod:
while(!Thread.currentThread().isInterrupted()){
//do something
Thread.sleep(5000);
}
TerazThread.sleep
zgłasza `InterruptedException, więc powinno być tak:
while(!Thread.currentThread().isInterrupted()){
//do something
try{
Thread.sleep(5000);
} catch(InterruptedException e){
}
}
Jeśli trafięcatch
będziewhile
kontynuuj pętlę lub muszę to zrobićThread.currentThread().interrupt()
? Jeśli nazywam tę metodę, nie spowoduje to równieżInterruptedException
? W przeciwnym razie, w jaki sposób otrzymałem wyjątek?
Także jeśli mam:
while (!Thread.currentThread().isInterrupted()){
//do something
callMethod();
}
private void callMethod(){
//do something
try {
Thread.sleep(5000);
} catch(InterruptedException e){
}
}
znowu będzie mojawhile
przerwa w pętli?