Мне нужна помощь в определении того, как закодировать эту проблему. Я сталкиваюсь.Запуск и управление ими
Я создаю симулятор лифта. Я хочу запустить каждый объект Elevator в отдельных отдельных потоках. Я хочу контролировать их с помощью объекта ElevatorController. Я представляю, как потоки лифта сидят в IDLE, а затем переключаются на UP или DOWN, когда это говорит диспетчер ElevatorController.
Я создал лифты и поместил их в массив ArrayList, который хранится в объекте Building.
Что мне делать дальше? Моя цель - сделать лифт1 отправиться на этаж 11. Пока лифт1 движется, мне нужно сказать, что лифт2 перешел на этаж 14. Когда лифт2 движется до 14-го этажа, мне нужно сначала сказать, чтобы он пошел на этаж 13.
Я не уверен, как я должен создавать эти потоки и по-прежнему ссылаюсь на объекты лифта в этих потоках, поэтому могу сообщить им новое место назначения.
Я новичок в многопоточности.
«Я хочу запускать каждый объект Лифт в отдельных отдельных потоках» Почему? Это упражнение, чтобы узнать о синхронизации потоков? или это упражнение, чтобы узнать о контроле и симуляции в реальном времени? Если бы меня попросили имитировать банк лифтов, у меня, вероятно, не было нитки на лифте. Я бы смоделировал весь банк лифтов (включая их контроллер) в одном потоке, управляемом событиями, с упорядоченной по времени очереди событий. –