gpt4 book ai didi

java - 如何使用java同步两条跑道以便飞机着陆?

转载 作者:行者123 更新时间:2023-12-01 17:39:02 26 4
gpt4 key购买 nike

我好像遇到了一个小问题。我有一个空中交通管制应用程序,有两条跑道,我要在java中同步它。这样做是因为,如果飞机二飞机一正在着陆的过程中着陆,则它(飞机二)不必等待,而是可以快速移动到二号跑道降落。

我已成功同步一条跑道,并使用一个 ArrayList 来存储飞机详细信息和着陆工作,但是第二架飞机的着陆必须等待(大约 5 秒)。关于如何同步两条跑道有什么想法吗?

我目前的想法是有两个ArrayList(一个ArrayList(Even)存储偶数编号的平面,例如平面二、平面四)和另一个ArrayList (Odd) 存储奇数编号的平面,例如一号飞机、三号飞机。然后我可以使 ArrayList (Even) 与跑道一配合使用,而 ArrayList (Odd) 与跑道二配合使用(使用我为跑道一所做的单独同步技术) 。缺点是,如果我在 ArrayList Odd 中添加 2 架奇数飞机,并在 ArrayList 中添加 20 架偶数飞机,当跑道 2 空闲时,它将不会被使用。相反,只会使用一号跑道,而偶数编号的飞机则必须等待。

旁注:我确实理解,如果两条跑道都被占用,第三架飞机将不得不等待,但根据标记方案,这是可以接受的。

有什么建议吗?

谢谢

最佳答案

要正确执行此操作,您只需将进场飞机放入一个队列即可。 Java 提供了一个队列实现,我建议您使用它而不是自己滚动。

设置好队列后,您需要两个跑道对象和一个“空中交通管制员”。空中交通管制员负责检查跑道,如果有可用跑道,则将一架飞机从队列中弹出并告诉其着陆。

关于java - 如何使用java同步两条跑道以便飞机着陆?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3232520/

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