Читая чужой код, я наткнулся на следующее:
class Worker extends Thread {
....
public void run() {
try {
while ( true ) {
..... DO WORK .....
}
} catch ( InterruptedException e ) {
Thread.currentThread().interrupt();
} catch ( RuntimeException e ) {
handleFatal( e );
}
}
}
Каков эффект от вызова Thread.currentThread().interrupt()
внутри блока catch?
Наверняка текущий запущенный поток — этот экземпляр Worker
— уже прерван в этот момент? Какой цели служит повторный вызов interrupt()
в уже прерванном потоке?