Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Не знаю как решить задачу многопоточность, очень горит по времени(экзамен) сам джаву не знаю, учу другой язык.

Харди Харденский Знаток (329), на голосовании 1 год назад
Препод не разрешил сдавать задания на другом языке, помогите пожалуйста решить, вот задача: Предположим, что в общежитии есть душевая, которой могут пользоваться и мужчины, и женщины, но не одновременно. Опишите протекающие процессы «помывки» мужчин и женщин. Одновременно в душевой может находиться сколько угодно мужчин или женщин. Решение может быть не справедливым. Прошу, очень надо
Голосование за лучший ответ
Евгений Романов Гуру (4850) 1 год назад
Ну и задачака
Один из вариантов решения этой задачи может быть следующим:

Создаем два объекта Lock, один для мужчин, другой для женщин.
Создаем два объекта Condition, один для мужчин, другой для женщин.
Создаем два потока (threads), один для мужчин, другой для женщин.
В каждом из потоков реализуем следующий алгоритм:
Получаем блокировку (lock) на свой объект Lock.
Если душевая занята противоположным полом, то ожидаем (await) на своем объекте Condition.
Если душевая свободна, то занимаем ее и запускаем процесс «помывки».
По окончании процесса «помывки» сигнализируем (signal) об освобождении душевой другому потоку через его объект Condition.
Освобождаем (unlock) свой объект Lock.
Харди ХарденскийЗнаток (329) 1 год назад
Спасибо, это одним файлом, правильно?
Харди ХарденскийЗнаток (329) 1 год назад
Я в IntelliJ создал проект, у меня сейчас вот так: showertask=>scr=> com.company =>Main.java, мне сюда все это переписать?
Харди ХарденскийЗнаток (329) 1 год назад
Помоги еще пожалуйста собрать все это, что бы работало
Похожие вопросы