【发布时间】:2011-11-07 05:48:12
【问题描述】:
我的方法在这里可能是错误的(或实施得更好)。如果是这样,请告诉我一个更好的主意。
我正在尝试实现一个适用于本地文件或网络的形状文件阅读器。但是,有些 shapefile 非常大,可能需要一段时间才能完全加载。我想将加载类分离到它自己的线程中。我还想让主线程在加载的时候从加载器中提取加载的数据,这样可以立即显示出来。
为了实现这一点,我想我可以在加载器中维护一个链接列表,其中包含已经完全加载的元素。主线程可以轮询加载器以查看是否已加载任何元素,并提取链表的头部,这会将其从加载器中移除。
我可以使用什么机制来确保主类和加载器类不会同时尝试访问链表的头部?我知道这涉及同步,但我对 Java 线程完全是个菜鸟。只需要有人指出我正确的方向。
如果您有完全不同的想法,我会全力以赴。 谢谢
【问题讨论】:
标签: java synchronization