Java 检查物体的概率

Java 检查物体的概率,java,Java,我正在做一个模拟火车随机离开美国城市的工作。它的工作原理是每秒钟(滴答声)我需要将每个城市的概率设置为0到1之间的双倍值。如果城市概率为1,则列车需要离开城市。我与6个城市合作。目前,我有6个线程,每个城市一个,随机生成一个double并每秒将其分配给城市,如果城市概率变为1,则火车对象离开。我这样做似乎不对,因为如果我有100个城市,我不想使用100个线程 有谁有更好的方法吗?我建议始终只有两个线程。 1.滴答声 2.概率更新程序 TickChecker将遍历列表,找到概率与1匹配的城市,并启

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


有谁有更好的方法吗?

我建议始终只有两个线程。 1.滴答声 2.概率更新程序

TickChecker将遍历列表,找到概率与1匹配的城市,并启动它

ProbabilityUpdater将遍历列表并定期更新概率值。与滴答声相同或更小的间隔

如果您想使用概率检查器的动态触发,那么一旦概率变为1,就可以使用可观察模式启动您的操作

这样你就不需要多个线程了,这里的每个人都这么说。
参考文档。

为什么需要多个线程?而且,概率永远不会是1.000这是我的错误,我知道这一点。我正在使用线程同时设置所有概率。我认为我对概率部分的解释不正确。@bp_ltd.如果你想同时设置它们,为什么不使用一种标准方法,一次将它们全部设置好呢?然后,您可以创建一个线程作为“启动器”来模拟火车的发车。只需创建线程,传递拖车标识符,然后从那里开始处理。这是家庭作业吗?也许你可以发布确切的措辞和任何你已经尝试过的东西。现在我不太明白你想做什么,或者你应该做什么。