2 / 2 / 2
Регистрация: 01.11.2013
Сообщений: 154
|
||||||
1 | ||||||
Симуляция автомобильного паркинга с помощью семафоров17.11.2016, 00:56. Показов 1203. Ответов 0
Метки нет (Все метки)
Задача состоит в том чтобы сделать симуляцию автомобильного паркинга. Паркинг имеет 20 мест, автомобили приезжают туда время от времени (рандомное число в sleep), если есть свободное место заезжает туда и находятся на нем некоторое время (так же рандомное число в sleep). Если нету мест - ждет в очереди,пока не освободится место. Создай 100 автомобилей (100 потоков) и сам паркинг. Используй семафоры. Дополнительно поток автомобиля должен определиться, будет ли он ждать в очереди или поедет на другой паркинг (вероятность остаться в очереди 75%). Используй метод tryAcquire (), возвращающий логическое значение в зависимости от доступа разрешений в семафоре. Создай так же поток демона, который каждые 5 секунд будет показывать полезную информацию для водителя (количество свободных мест на паркинге/число автомобилей в очереди).
Вот так пока выглядит половина программы, не понимаю как реализовать правильно демона нашего который будет каждые 5 секунд писать количество свободных мест и т.д,есть у меня пример с потоком Демон где в run() работает while(true) и эта информация там обрабатывалась нашим демоном пока наш sleep держал основной поток мейн несколько секунд,там все понятно,но не понятно как здесь это реализовать. На счет вероятности в 75 тоже хотелось бы узнать поподробней и о tryAcquire () в нашей задаче. Спасибо
0
|
17.11.2016, 00:56 | |
Ответы с готовыми решениями:
0
Взаимоисключения с помощью "семафоров" для двух процессов, взаимодействующих через разделяемую память Реализация семафоров Реализация семафоров Аргументы для семафоров |
17.11.2016, 00:56 | |
17.11.2016, 00:56 | |
Помогаю со студенческими работами здесь
1
Организовать массив семафоров Использование семафоров и мьютексов Правильное использование семафоров Отобразить id созданых семафоров Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |