2013-02-21 24 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