我有一个 40 个定期航班的数组;每个航班对象都存储了数据:航班号、航空公司、出发城市、到达城市、飞行时间、飞行长度。
随着每个航班时间的发生,航班事件生成器线程将更改每个航班的状态,从 Scheduled、Departed、Departed、Delayed、Arrived 等。这部分不是问题。
生产者-消费者方面如下。随着这些事件的发生(出发、到达、延误),上述航班事件生成器线程必须将这些更改发布到航空公司线程,每个航空公司都有一个线程(由航班对象指定:西南航空、美国航空等)。然后,这些航空公司线程会将更改发布到每个机场航班监控线程,每个机场一个线程(同样,由航班对象指定)。这些线程依次发布对文件的更改。
我的问题是,我究竟应该如何处理这个看似复杂的生产者-消费者问题?另外,我应该如何处理两个出发时间相同的航班?