Клубок

  • 18
  • Недоступна
1. Создай 5 различных своих нитей (наследников класса Thread): 1.1. Нить 1 должна бесконечно выполняться; 1.2. Нить 2 должна выводить "InterruptedException" при возникновении исключения InterruptedException; 1.3. Нить 3 должна каждые полсекунды выводить "Ура"; 1.4. Нить 4 должна реализовать интерфейс
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (605)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Николай Данилов
Уровень 17, Москва, Russian Federation
2 августа, 17:46
ахахаххахаха нить 3 не пропускала решение когда слип стоит перед систем аут принт.
Богдан
Уровень 18, Феодосия, Россия
1 августа, 20:28
Капец блин... Пол часа возился с 4 нитью, все комменты перечитал, так и не понял в чём дело... Заменил while(isAlive()); на while(!isInterrupted()); и валидация прошла🤦‍♂️🤦‍♂️🤷‍♂️
Подсказка: Нить 4 можно проверить методом isAlive()
Зачем тогда это в условии??? P.S. Кстати все нити, кроме 4-й через лямбды добавлял))
An N
Уровень 21, Cheboksary, Russian Federation
27 июля, 13:47
Обнаружил необъяснимую вещь В моем рабочем варианте, а также в правильном варианте запускаю пятую нить в Idea После ввода с клавиатуры второго корректного числа получаю Exception in thread "Thread-4" java.lang.NumberFormatException: For input string: "" и программа завершает работу с кодом 0. В тексте программы сразу после ввода с консоли str = reader.readLine(); всего лишь добавил строку System.out.println(str); И все работает как ожидалось.
Fruitella
Уровень 29, Тверь, Russian Federation
19 июля, 09:08
Первое в чем ошибся это добавлял нити в main, а нужно было в отдельном статическом блоке. А второе был косяк с 4 нитью, не понял условие и в цикле постоянно вызывал метод showWarning(), по логике там написал interrupt. Типо цикл работает все ок, он вызывает метод showWarning() и там прерывается. Валидатор не принимал. После только понял, что этот весь метод же у нас и так в этой нити, соответственно следующий метод за ним и так будет вызван, он его и прервет.
Екатерина
Уровень 25, Брест, Belarus
17 июля, 09:57
Помогите разобраться, знающие люди! не понимаю в чем разница применения: this.interrupt(); currentThread().interrupt(); Thread.currentThread().interrupt();
Екатерина
Уровень 27, Минск, Belarus
26 июля, 14:03
как я это понимаю:
this.interrupt();
мы обращаемся к текущему потоку только из класса самого потока.
currentThread().interrupt();
- использовать отдельно нельзя. т.к. currentThread() - это статический метод класса Thread. Что бы вызвать метод interrupt(); у текущего потока нужно написать
Thread.currentThread().interrupt();
его можно использовать из любого класса. в отличии от this.interrupt(); сам метод сurrentThread(); возвращает ссылку на текущий объект (поток который сейчас выполняется) типа Thread.
Michael
Уровень 28, Ukraine
9 июля, 07:29
Со второй попытки Нить 2 должна выводить "InterruptedException" всего решили 25496 учеников.
papsnaz
Уровень 28, Самара, Russian Federation
3 июля, 16:17
лежать плюс лежать
Denis Kolesnikov
Уровень 35, Москва, Russian Federation
1 июля, 09:44
Не очень понимаю насчёт 4 нити. Если написать public void showWarning() { this.interrupt(); } , то всё ОК. Но если this заменить на Thread.currentThread(), то валидация не проходит. Неужели это не одно и тоже ??? Хелп(
SergGlav
Уровень 20
30 июня, 17:31
Ааааа, я собой гордюсь! Или валидатор резко подобрел... :)
Beer-Control
Уровень 27, Москва, Russian Federation
27 июня, 15:28
С пятой ниткой пришлось повозиться. Всего эту задачу решили 25399 учеников.