检查对象的概率

时间:2018-01-15 21:56:14

标签: java

我正在模拟火车随机离开美国的城市。它是如何工作的每一秒(滴答)我需要将每个城市的概率设置为0到1之间的双倍值。如果城市概率是1,那么火车需要离开城市。我有6个城市与我合作。目前我有6个线程,每个城市一个,随机生成一个双倍并且每秒将其分配给城市,如果城市概率变为1,则火车对象离开。我这样做的方式对我来说似乎不对,因为如果我有100个城市,我不想使用100个线程。

有没有人有更好的方法?

1 个答案:

答案 0 :(得分:0)

我建议总是只有2个帖子。 1. TickChecker 2. ProbabiltyUpdater

TickChecker将遍历列表并找到将概率与1匹配的城市并将其解除。

ProbabilityUpdater将遍历列表并定期更新概率值。与tickChecker相同的间隔或甚至小于该值。

如果你想动态使用概率检查器,只要概率变为1就可以使用Observable模式,你开始动作。

这样你不需要多个线程,因为这里的每个人都在说。 Observable参考文件。