【问题标题】:Simulation in java using priority queuesjava中使用优先级队列的模拟
【发布时间】:2013-08-21 17:04:25
【问题描述】:

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

【问题讨论】:

  • 根据您提供的信息,正常队列是最合适的。优先部分在哪里起作用?
  • 问题是什么?
  • @Jeroen Vannevel 我们被要求使用它们以及 poll() 函数。
  • @AbhishekHerle:你可能应该先弄清楚原因,这样你才能知道到底是什么。

标签: java events simulation modeling


【解决方案1】:

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

【讨论】:

  • 你能告诉我如何安排他们吗?
  • @AbhishekHerle:我保证,这一切都在那篇教程论文中。
【解决方案2】:

你提到的问题陈述你可以使用一个简单的队列来实现它,我可以想到下面的设计。

  1. 队列 - 将保存人员列表。
  2. Thread1 - 读取到达的人员并将人员添加到队列中
  3. Thread2 - 从队列中删除以进行处理
  4. 队列大小将为您提供队列中的人数

如果您正在处理集合并且需要对对象进行排序,那么您需要一个比较器,但鉴于问题陈述,看起来不需要排序。

干杯!!

【讨论】:

  • 我应该使用一个包含到达时间的事件列表,并将其与前一个客户的离开时间进行比较。
猜你喜欢
  • 2022-01-07
  • 2013-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多