Розроділені обчислення Java керування процесами,потоками(нитками)
500 UAHВикористати java
а) Тема: Процеси, потоки (нитки).
Завдання: Скласти програму (процес), який паралельно запускає два фонові потоки (нитки). Використати синхронізацію потоків на спільному ресурсі.
Опис роботи програми:
При запуску програми кнопкою "Пуск", одночасно паралельно запускаються два потоку Tthread1 і TThread2, які намагаються встановити "бігунок" в свою позицію (1-в позицію 10, 2-й в позицію 90)
У потоків можна змінювати пріоритети, і в залежності від пріоритету перевага віддається або одному, або іншому потоку
При завершенні програми потоки знищуються
б) Тема: Управління процесами, потоками (нитками) в критичній секції за допомогою блокуючої змінної (найпростішого семафора )
У завданні використовувати програму завдання 1
У програмі зробити наступні зміни:
Ввести глобальну змінну для семафора типу integer
Розмістити кнопки ПУСК 1 і ПУСК 2 для запуску першого і другого потоків (ниток), перед цим встановлюється семафор в положення "зайнято"
Розмістити кнопки СТОП 1 і СТОП 2 для зупинки першого і другого потоків (ниток), встановлюється семафор в положення "вільно"
Кнопка ПУСК 1 задає для першого потоку найнижчий пріоритет
Кнопка ПУСК 2 задає для другого потоку найвищий пріоритет
Опис роботи програми
Потоки запускаються послідовно. Якщо працює один з потоків, то другий неможливо запустити, тому що критична секція зайнята та відображає повідомлення "Зайнято потоком"
Кнопка Стоп звільняє критичну секцію і знищує поточний потік.
Кнопка ПУСК запускає потік і блокує натискання кнопки СТОП іншого потоку
Правильна робота програми полягає в наступному: Кнопка ПУСК 1 встановлює бігунок в положення 10, там він і залишається поки не натискаємо кнопку ПУСК 2, яка встановлює його в стан 90
Звернути увагу! Семафор (блокуюча змінна) - глобальна змінна, доступна обом потокам, отже вони працюють в одному адресному просторі (даного процессу).
Якби семафор регулював взаємодія не потоків, а процесів, то він повинен бути глобальним по відношенню до них і таким чином перебувати в адресному просторі операційної системи, яка і управляє процесами
Відгук замовника про співпрацю з Олександром Денисовим
Розроділені обчислення Java керування процесами,потоками(нитками)Все чудово,робота виконана якісно і своєчасно.Приємно працювати!
![]()
Відгук фрилансера про співпрацю з замовником
Розроділені обчислення Java керування процесами,потоками(нитками)Все відмінно!
Чітка постановка вимог, швидкі відповіді.
Угода пройшла чудово!
-
51 3 0 Добридень!
Завдання це все, що дано? Чи є точніший опис, що треба зробити?
Погляньте, можливо це те, що вам треба?
Анімація тут працює некоректно, але я виправлю, якщо що.
https://youtu.be/d1H6-RiWeug
UPD
Отак, мабуть, ближче до правди.
https://youtu.be/mGQwYu4SoIA
Актуальні фриланс-проєкти в категорії Java
Розробка простих 2D-ігор (Змійка, Галактика тощо) під Google Play MarketВітаю! Шукаю розробника (або початківця з хорошою базою), який зможе створити кілька простих класичних 2D-ігор під мобільну платформу Android з подальшою публікацією в Play Market.Для старту потрібно розробити одну-дві гри. Приклади сеттингу та механік: класична «Змійка»… Java, Розробка ігор ∙ 17 годин 25 хвилин тому ∙ 14 ставок |
Створення додаткуБажаю створити мобільний додаток для спілкування, в застосунку має бути аудіо,відео дзвінок, створення групових чатів,можливість синхронізувати з контактами телефону, налаштуваннями акаунта: привязка по мейлу, 2фа, номеру телефону,можливість налаштовувати сповіщення… Java, Python ∙ 5 днів 11 годин тому ∙ 39 ставок |