Я пробовал приведенный ниже код, я прервал пользовательский поток, когда я печатаю значение isInterrupted, оно возвращает false, я не получил ни одного истинного значения, здесь флаг будет сброшен, когда исключение был перехвачен или вызвал прерванный метод.
Во-вторых, согласно моему пониманию, метод сна должен генерировать и interruptedException в каждой итерации значение в catch для печати, но оно выбрасывает только один раз.
class ThreadInterruptt extends Thread
{
public void run()
{
for(int i = 0; i<100;i++)
{
try {
Thread.sleep(1000);
System.out.println(i);
System.out.println(isInterrupted());
} catch (InterruptedException e) {
System.out.println("Thread Interrupted");
}
}
}
}
public class ThreadInterrupt {
public static void main(String ag[]) throws InterruptedException
{
ThreadInterruptt t = new ThreadInterruptt();
t.start();
Thread.sleep(100);
t.interrupt();
}
}