Клубок

  • 18
  • Недоступна
1. Создай 5 различных своих нитей c отличным от Thread типом: 1.1. Нить 1 должна бесконечно выполняться; 1.2. Нить 2 должна выводить "InterruptedException" при возникновении исключения InterruptedException; 1.3. Нить 3 должна каждые полсекунды выводить "Ура"; 1.4. Нить 4 должна реализовать интерфейс
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (537)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Алексей
26 уровень, Санкт-Петербург
около 14 часов назад
В четвертой нити, interrupt() не принимал, а неактуальный stop() принял :(
Maks Panteleev
20 уровень, Москва
3 апреля, 11:37
Офигенная задача, сразу много тем кроме потоков поднимает) мне понравилось) пришлось повозиться и убить полтора часика, но в целом больше на аккуратное написание кода и внимание к мелочам)
"Почему бы и да"
29 уровень
1 апреля, 10:09
Что тут скажешь, задача с элементами головоломки. Читайте условие очень внимательно и используйте подсказку для 4 пункта, без нее валидатор не примет.
Mr Notorious
16 уровень, Санкт-Петербург
30 марта, 00:26
Поэтому надо решать бухим как я, чтоб не загоняться...
Алексей
16 уровень
24 марта, 08:02
public class Thread4 implements Message, Runnable{ public static volatile boolean isStop = false; public void showWarning() { isStop = true; } @Override public void run() { while (!isStop){ // System.out.println("Нить запущена"); } // System.out.println("Работа нити окончена"); } Что не так с этой 4 той нитью?.. Что еще нужно сделать что бы кривой валидатор ее принял?...
Igor
22 уровень, Минск
29 марта, 14:49
Я сразу тоже так написал, но это не верно начиная с первой строчки не вашего кода, а условии этой охооспааадии "задачи".😒
1. Создай 5 различных своих нитей c отличным от Thread типом:
Нужно было не имплементить интерфейс, а наследовать Thread. Потому что нить №4
public void showWarning()
нужно останавливать через флаг isInterrupted(). А через интерфейс Runnable в данном случае сделать это трудно(как мне кажется).
VDT
23 уровень, Екатеринбург
23 марта, 12:35
"Создай 5 различных своих нитей c отличным от Thread типом" !Отличным! Создаем класс и наследуемся от Thread и добавляем в лист список с типом Thread ПРОФИТ! Спросите где логика? А нет ее. Привыкаем к х.. пойми каким ТЗ прямо с лекций.
YuriAleksenko Старший программист в Инверсия
18 марта, 19:00
Подскажите, почему не проходит валидацию:
...
public class Solution {
    public static List<Thread> threads = new ArrayList<>(5);
    static {
        Thread t1 = new Thread(new Infinite());
        Thread t2 = new Thread(new ExceptionThread());
        Thread t3 = new Thread(new Hurray());
        Thread t4 = new Thread(new Warning());
        Thread t5 = new Thread(new ConsoleReader());
        threads.add(t1);
        threads.add(t2);
        threads.add(t3);
        threads.add(t4);
        threads.add(t5);
    }
...
    public static class Warning extends Thread implements Message{
        public void run(){
            while (!isInterrupted()) {
            }
        }
        public void showWarning(){
            this.interrupt();
        }
    }
...
"Почему бы и да"
29 уровень
1 апреля, 10:07
Если еще актуально, то в методе showWarning() надо сделать проверку isAlive()
Eugene Sinitsa
30 уровень, Одесса
13 марта, 15:41
6.51 среднее количество попыток... мне кажется больше я ещё не видел. Сам тупил долго, за 11 прошел ахах
Bill
17 уровень
12 марта, 12:32
Ребя поберегите нервы - в вайлах где не просят, не заполняйте ничего! Сидел, тупил и злился)
lightning
26 уровень
11 марта, 13:49
Непонятно для чего дана "подсказка". Реализовал через проверку isAlive() - валидатор просит меня реализовать интерфейс Message. Посмотрел правильное решение - проверяют !isInterrupted(), в остальном ровно все тоже самое. И да, никакого isAlive() в решении от разработчиков нет. Такие дела...