Я задачу решил, поэтому могу выложить только код метода 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
Дмитрий Змеевский
40 уровень
Валидатор принял неправильный вывод, а правильный вывод не принял
Обсуждается
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Justinian Judge в Mega City One Master
2 ноября 2019, 12:27
Валидатор проверяет вывод программы на задачах типа вывести в консоль "Амиго самый умный".
А в целом, вывод с правильностью программы соотносится приблизительно так же как количество зубов с полом человека. Можно конечно графики построить, но занятие сомнительное.
Да, возможно закомментированный вывод немного путает, но мы говорим о мультипоточности.
Читай внимательно Обсуждение задачи. Читай вопросы по этой задаче в разделе Помощь. Там детально расскажут.
Хотя можно ограничиться и самыми условиями задачи, которые четко дают ответ на твой вопрос.
п.с. есть конечно еще доля вероятности, поломать валидатор дело нехитрое, но здесь мне кажется это маловероятно.
+1