Не понимаю, почему после проверки на то, работает ли поток (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();
                }
            }
        }
    }
}