Я задачу решил, поэтому могу выложить только код метода run. Итак, мой вопрос: Валидатор это решение принял @Override public void run() { try { while (true) { System.out.println(Thread.currentThread().getName()); Thread.sleep(100); } } catch (InterruptedException e) { } } , хотя в выводе есть forth: first first second second second third fifth forth А это решение не принял: @Override public void run() { while (!Thread.currentThread().isInterrupted()) { try { System.out.println(Thread.currentThread().getName()); Thread.sleep(100); } catch (InterruptedException e) { Thread.currentThread().interrupt(); } } } Хотя вывод: first first second second second third fifth