gpt4 book ai didi

java - java中的并发有序列表

转载 作者:行者123 更新时间:2023-12-01 16:51:06 36 4
gpt4 key购买 nike

我目前正在开发 F1 模拟器,并且一直在努力实现记分板。

我有多辆车,每辆车都在一个线程上,每 5 秒更新一次距离和速度。另外,我还有另一个分数线程,它再次每 5 秒更新一次。我的问题是更新和排序分数。现在我正在使用 ConcurrentHashMap 来存储所有车辆。每辆车都会更新,我只是将其制成一个列表并对其进行排序:

public void sortCars() {
Collections.sort(sortedCars, Collections.reverseOrder());
}

我的主要问题如下,汽车需要以某种方式接收更新的列表,我将列表设为静态,但我的教授告诉我这很糟糕,因为列表不断更新,所以我的另一个选择是给出每个车辆都有一个分数,并在每个线程的每次迭代中对其进行排序。

我尝试过使用交换器,但速度太慢。有一段时间想过使用 Callable,但感觉不太对。除了列出的选项之外,我还有其他选择吗?如果不是,哪一个最好?

忘了补充,车辆只修改自己,分数类别只对其进行排序

最佳答案

事实证明,最好的解决方案是使用列表向车辆添加一个变量,每次我在 Score 用户中对它进行排序时,都会使用 setter 。不完全是我想要的,但有效,我只是想要没有变量,但我猜那是不可能的。

现在想想,我真是傻了。

关于java - java中的并发有序列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61685792/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com