Вопрос возник следующий - почему с дефолтным конструктором и запуском потока из мейна валидатор не принимал и просил вызвать декремент у обьекта класс RacingClock с перерывом в одну секунду (что вроде как и было сделано)?
Решилась проблема доп конструктором в классе RacingClock с запуском нити оттуда сразу при создании. Может из-за миллисекунд на которые уходил переход строчки в компиляторе условия не выполнялись?
Кажется что ответил на вопрос пока задавал, но не факт что правильно :)
public class Solution {
public static volatile int numSeconds = 4;
public static void main(String[] args) throws InterruptedException {
RacingClock clock = new RacingClock();
Thread.sleep(3500);
clock.interrupt();
}
public static class RacingClock extends Thread {
public void run() {
while (numSeconds!=0) {
try {
System.out.print(numSeconds + " ");
numSeconds--;
Thread.sleep(1000);
} catch (InterruptedException e) {
System.out.println("Прервано!");
return;
}
}
System.out.println("Марш!");
}
}
}