2013-02-21 37 views
1

我有一个数组有40个定期航班;每个航班对象都存储了数据:航班号,航空公司,出发城市,抵达城市,航班时间,航班长度。Java中的生产者 - 消费者机场航班

随着每个航班时间的发生,航班事件生成器线程将会改变每个航班的状态,从预定航班到离开航班,延迟航班到达目的地等等。这部分不是问题。

生产者 - 消费者方面如下。当这些事件发生(出发,到达,延误)时,上述飞行事件发生器线程必须将这些变化发布到航空公司线程,每个航空公司的一个线程(由航班对象指定:西南,美国等)。然后,这些航线将发布每个机场航班监视器线程的更改,每个机场的一个线程(同样由飞行对象指定)。这些线程反过来将更改发布到文件。

我的问题是,究竟应该如何处理这个看起来复杂的生产者 - 消费者问题?另外,我应该如何处理两次出发时间相同的航班?

+0

您确定需要为此使用线程吗?看起来像是你可能做的线程,而不是一个Flight,Airline和AirportFlightMonitor对象在一个线程中一起工作。 – 2013-02-21 19:33:24

+0

不幸的是,是的,我强制要求使用描述的线程。对我来说看起来并不是那么有用,但是这样吧。 – aquemini 2013-02-21 19:43:04

回答

0

经过YouTube上的这些视频教程由caveofprogramming:

这是用一个阻塞队列的Java支持开箱即用:
http://www.youtube.com/watch?v=Vrt5LqpH2D0&list=PLBB24CFB073F1048E

这是,如果你想编写自己的同步逻辑使用等待,通知等。:
http://www.youtube.com/watch?v=gx_YUORX5vk&list=PLBB24CFB073F1048E

事实上,你应该在他的频道上浏览整个系列的多线程。非常好的教程。

+0

好的,我来看看。谢谢。 – aquemini 2013-02-21 19:43:33