У меня есть массив из 40 регулярных рейсов; каждый объект полета хранит данные: номер рейса, авиакомпанию, город вылета, город прибытия, время полета, продолжительность полета.
По мере того, как происходит время каждого рейса, поток генератора событий рейса меняет статус каждого рейса с Запланировано на Вылет, на Задержка, на Прибытие и т. д. Эта часть не проблема.
Аспект производитель-потребитель заключается в следующем. Когда происходят эти события (отправление, прибытие, задержка), вышеупомянутый поток генератора событий рейса должен публиковать эти изменения в потоке авиакомпании, по одному потоку для каждой авиакомпании (указанного объектом полета: Southwest, American, так далее.). Затем эти потоки авиакомпаний будут публиковать изменения в каждом потоке мониторинга полетов аэропорта, по одному потоку для каждого аэропорта (опять же, указанного объектом полета). Эти потоки, в свою очередь, публикуют изменения в файле.
Мой вопрос в том, как именно я должен справиться с этой, казалось бы, сложной проблемой производитель-потребитель? Кроме того, как мне обрабатывать два рейса с одинаковым временем вылета?