2011-11-07 134 views
3

我的方法在這裏可能是錯誤的(或者執行得更好)。如果是這樣,請讓我知道一個更好的主意。Java:多線程鏈表訪問同步

我試圖實現一個形狀文件閱讀器,與本地文件或通過網絡工作。但是,一些shapefile文件很大,可能需要一段時間才能完全加載。我想將加載類分成它自己的線程。我還想讓主線程在加載時從加載器中提取加載的數據,因此它可以立即顯示。

爲了達到這個目的,我想我可以在包含已經完全加載的元素的加載器中維護一個鏈表。主線程可以輪詢加載器以查看是否加載了任何元素,並提取鏈接列表的頭部,從而將其從加載器中移除。

我可以使用什麼機制來確保主類和加載器類不會同時嘗試訪問鏈表頭部?我知道這涉及到同步,但我總是使用Java線程的noob。只需要有人指點我正確的方向。

如果你完全不同的想法,我全部耳朵。 謝謝

回答