【发布时间】:2011-09-11 22:58:42
【问题描述】:
我有一个私人HashMap,我在上面使用Collections.synchronizedMap()。 API 表示,当迭代地图时,它并不是真正的“线程安全”。我通常使用Map.entrySet() 来迭代地图,所以我认为地图需要像 API 所示的手动同步块。但是从外部我无法在地图参考上同步,因为它是私有的......我想知道我是否应该为实际的地图参考提供一个吸气剂(也许这不是好的 OOP 设计),或者返回一个深层副本地图? (也许这很慢)。我不知道在这种情况下最好的方法是什么。有人可以给出一些想法或告诉我面对这种情况的最典型方式是什么?
【问题讨论】:
标签: java collections synchronization