Меня попросили имитировать события для магазина с одним счетчиком в java, используя очередь приоритетов. Когда человек обслуживается, и если кто-то прибывает в течение этого времени, я увеличиваю количество людей в очереди. Я понял, что мне нужно использовать Компаратор, но пока мне кажется, что я могу использовать компаратор для сортировки, а не для очередей и События в очереди DE.Моделирование в java с использованием очередей приоритетов
ответ
Если вы используете перспективу дискретного моделирования событий, вы используете очередь приоритетов для планирования последовательности событий, которые управляют системой. Вы можете найти tutorial paper о том, как это сделать, а также реализацию Java для очереди на одном сервере с экспоненциальным временем между поездками и сервисом в архивах бумаги Winter Simulation Conference.
Можете ли вы рассказать мне, как они планируются? –
@AbhishekHerle: Это все в этой учебной статье, я обещаю. – pjs
Заявление об ошибке, о котором вы упомянули, можно реализовать с помощью простой очереди, я мог бы подумать о следующем дизайне.
- Очередь - Которая будет содержать список лиц.
- Резьба1 - Считывает прибывающих лиц и добавить человека в очереди
- Резьба2 - Удаляет из очереди для обработки
- Размер очереди даст вам количество людей в очереди
Если вы работаете над коллекциями и вам нужно сортировать объекты, тогда вам нужен compartor, но, учитывая оператор проблемы, похоже, что сортировки нет необходимости.
Cheers !!
Я должен использовать список событий, который содержит время прибытия и сравнивает его со временем вылета предыдущего клиента. –
С предоставленной вами информацией наиболее подходящей является обычная очередь. Где находится приоритетная часть? –
В чем вопрос? – kiheru
В JDK есть класс PriorityQueue. http://docs.oracle.com/javase/7/docs/api/java/util/PriorityQueue.html – Marcelo