2013-08-19 26 views
0

我被要求使用优先级队列在java中使用一个计数器来模拟商店的事件。如果一个人在服务,如果有人在这段时间到达,我增加了队列中的人数。我发现我必须使用比较器,但到目前为止,似乎我只能使用比较器进行排序,而不是排队和排队事件。使用优先级队列在java中进行模拟

+1

根据您提供的信息,正常队列是最合适的。优先权部分在哪里起作用? –

+0

什么问题? – kiheru

+0

JDK中有一个PriorityQueue类。 http://docs.oracle.com/javase/7/docs/api/java/util/PriorityQueue.html – Marcelo

回答

2

如果您正在使用离散事件建模透视图,则使用优先级队列来计划驱动系统的事件序列。在冬季模拟会议论文档案中,您可以找到有关如何执行此操作的tutorial paper以及具有指数间隔和服务时间的单个服务器队列的Java实现。

+0

你能告诉我他们是如何安排的吗? –

+0

@AbhishekHerle:我承诺,这是所有的教程论文。 – pjs

-1

您提到的问题陈述可以使用简单的队列实现,我可以考虑以下设计。

  1. 队列 - 哪些人将列出人员。
  2. 线程1 - 读取到达的人,并添加人到队列
  3. 线程2 - 从队列中删除处理
  4. 队列的大小会给你在排队

的人数如果你是在收集工作你需要对对象进行排序,然后你需要一个分隔符,但是给出问题陈述,看起来好像不需要排序。

干杯!

+0

我应该使用一个事件列表来保存到达时间,并将它与以前的客户的出发时间进行比较。 –