Не понимаю, почему после проверки на то, работает ли поток (isAlive()), и вызове метода interrupt() поток продолжает работать
package com.javarush.task.task16.task1617;
/*
Отсчет на гонках
*/
public class Solution {
public static volatile int numSeconds = 5;
public static void main(String[] args) throws InterruptedException {
RacingClock clock = new RacingClock();
Thread.sleep(3500);
if (clock.isAlive()) {
clock.interrupt();
System.out.println("Прервано");
}
else
System.out.println("Марш!");
}
public static class RacingClock extends Thread {
public RacingClock() {
start();
}
public void run() {
while(!currentThread().isInterrupted() && numSeconds > 0)
{
try {
Thread.sleep(1000);
System.out.println(numSeconds);
numSeconds--;
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
}