Кажется, у меня небольшая проблема. У меня есть приложение управления воздушным движением с двумя взлетно-посадочными полосами , которое я должен синхронизировать в Java. Это должно быть сделано, потому что, если есть самолет два , который приземляется, в то время как самолет один находится в процессе приземления, он (самолет два) не должен ждать, но может быстро перейти на ВПП два, чтобы приземлиться.
Я успешно синхронизировал одну взлетно-посадочную полосу и использую одну ArrayList
для хранения сведений о самолете и посадочных работах, однако посадка второго самолета должна будет ждать (около 5 секунд). Есть идеи, как синхронизировать две взлетно-посадочные полосы?
Моя настоящая идея состояла в том, чтобы иметь два ArrayLists
(один ArrayList(Even)
хранит четные плоскости, например, плоскость два, плоскость четыре), а другой ArrayList(Odd)
хранит нечетные плоскости, например. самолет один, самолет три. Затем я могу настроить ArrayList (Even)
для работы на ВПП-1 и ArrayList (Odd)
для работы на ВПП-2 (используя технику индивидуальной синхронизации, которую я применил для ВПП-1). Недостатком является то, что, если я добавлю 2 нечетных самолета в ArrayList Odd
и 20 четных самолетов в ArrayList
, когда взлетно-посадочная полоса 2 станет свободной, она не будет использоваться. Вместо этого будет использоваться только одна ВПП, и самолеты с четными номерами должны будут ждать.
Примечание: Я понимаю, что если обе взлетно-посадочные полосы заняты, третьему самолету придется подождать, но это приемлемо в соответствии с маркировочной схемой.
Есть предложения?
Спасибо