package com.javarush.test.level16.lesson13.bonus02;

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List;

/ Клубок 1. Создай 5 различных своих нитей c отличным от Thread типом: 1.1. нить 1 должна бесконечно выполняться; 1.2. нить 2 должна выводить "InterruptedException" при возникновении исключения InterruptedException; 1.3. нить 3 должна каждые полсекунды выводить "Ура"; 1.4. нить 4 должна реализовать интерфейс Message, при вызове метода showWarning нить должна останавливаться; 1.5. нить 5 должна читать с консоли цифры пока не введено слово "N", а потом вывести в консоль сумму введенных цифр. 2. В статическом блоке добавь свои нити в List<thread> threads в перечисленном порядке. 3. Нити не должны стартовать автоматически. Подсказка: Нить 4 можно проверить методом isAlive() /

public class Solution { public static List<thread> threads = new ArrayList<thread>(5);

static {
    threads.add(new TestThread1());
    threads.add(new TestThread2());
    threads.add(new TestThread3());
    threads.add(new TestThread4());
    threads.add(new TestThread5());
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public static class TestThread1 extends Thread { public TestThread1() { start(); }

    @Override
    public void run()
    {
        while(true);
    }
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public static class TestThread2 extends Thread { public TestThread2() { start(); }

    @Override
    public void run()
    {
        try
        {
            while(true) Thread.sleep(10000);
        }
        catch (InterruptedException e)
        {
            System.out.println("InterruptedException");
        }

    }
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public static class TestThread3 extends Thread { public TestThread3() { start(); }

    @Override
    public void run()
    {
        while(true){
            try
            {
                Thread.sleep(500);
            }
            catch (InterruptedException e)
            {
                e.printStackTrace();
            }
            System.out.println("Ура");
        }
    }
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public static class TestThread4 extends Thread implements Message{ static boolean x = true; public TestThread4() { start(); }

    @Override
    public void run()
    {
        while(x);
    }

    @Override
    public void showWarning()
    {
        x = false;
    }
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public static class TestThread5 extends Thread { public TestThread5() { start(); }

    @Override
    public void run()
    {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String s;
        int sum = 0;
        try
        {
            while(!(s = reader.readLine()).equals("N")) sum += Integer.parseInt(s);
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        System.out.println(sum);
    }
}

}

задан 01 Фев, 02:23

fnaticcc's gravatar image

fnaticcc
284
одобрено: 37%

закрыто 20 Сен, 03:08

AndyRad's gravatar image

AndyRad
13.1k29

P.S. Удалил автоматический старт нитей- все равно не проходит.

(01 Фев, 02:37) fnaticcc

Вопрос был закрыт по следующей причине: "Problem is not reproducible or outdated" AndyRad 20 Сен, 03:08


в нитях : while( !IsInterrupted())

ссылка

опубликован 01 Фев, 03:53

Rediska's gravatar image

Rediska
2.4k6
одобрено: 45%

Следить за вопросом

По Email:

После авторизации вы сможете подписаться на любые обновления здесь

Основы Markdown

  • *italic* or _italic_
  • **bold** or __bold__
  • ссылка:[текст](http://url.com/ "заголовок")
  • изображение?![alt текст](/path/img.jpg "заголовок")
  • нумерованный список: 1. Foo 2. Bar
  • Для того чтобы добавить разрыв строки просто добавьте два пробела.
  • основные HTML тэги, также поддерживаются

Тэги:

×3,808
×833
×523
×176
×142

Задан: 01 Фев, 02:23

Просмотров: 452 раз

Отредактирован: 20 Сен, 03:08