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

0
Beer-Control
27 июня, 15:28
С пятой ниткой пришлось повозиться.
Всего эту задачу решили 25399 учеников.
0