FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

java-labs/java-advanced-ru/multithreading-java at main · vmorkhat/java-labs · GitHub

Latest commit

 

History

History

README.md

Многопоточность в Java

В этом домашнем задании мы напишем первое многопоточное приложение на Java. Наша программа будет обрабатывать в многопоточном режиме массив целых чисел и находить в нём максимум и минимум.

Ссылки

main/java/exercise/MaxThread.java

Задачи

  • Создайте поток, который будет находить максимальное число в массиве целых чисел. Класс потока унаследуйте от класса java.lang.Thread. Переопределите в классе метод run(), в котором напишите логику поиска максимального числа в массиве.

main/java/exercise/MinThread.java

Задачи

  • Создайте поток, который будет находить минимальное число в массиве целых чисел. Класс потока от унаследуйте от класса java.lang.Thread. Переопределите в классе метод run(), в котором напишите логику поиска минимального числа.

main/java/exercise/App.java

Задачи

  • В классе создайте публичный статический метод getMinMax(). Метод принимает в качестве аргумента массив целых чисел. Условимся, что массив содержит минимум один элемент. Метод должен возвращать максимальный и минимальный элемент массива в виде словаря Map<String, Integer>:

    int[] numbers = {10, -4, 67, 100, -100, 8};
    
    System.out.println(App.getMinMax(numbers)); // => {min=-100, max=100}

    Реализуйте метод так, чтобы вычисления производились в два потока. Первый поток ищет максимальное число в массиве, второй – минимальное. Используйте для этого созданные классы потоков.

  • Чтобы наглядно отследить старт и окончание работы потока, добавьте в метод логгирование.

    Пример вывода лога:

    INFO: Thread Thread-3 started
    INFO: Thread Thread-3 finished

Подсказки

  • Исходные данные (массив с числами) можно передать в конструктор при создании экземпляра потока

  • Чтобы удобно получить результат работы потока, можно создать геттер


Back | FazBrowse Home | New Git URL