我发现自己重复了
的代码是否已经在java /官方库中使用示例代码发布了一个众所周知的模式,这样我就不必自己创建这个模式了?
答案 0 :(得分:1)
也许我并不完全理解您的要求,但为什么不读写ConcurrentHashMap
的一个实例呢? ConcurrentMap
的重点是读取和写入线程之间的映射是以线程安全的方式进行的。你能解释为什么在你的情况下不会发生这种情况吗?
只读不可变的ConcurrentHashMap < - 这绝对没有意义。任何安全发布的Map
实例(例如普通的旧HashMap
)都可以被多个线程安全地读取。这里唯一的危险是保证Map
只能从中读取而不能写入。可以使用Collections.unmodifiableMap()
或番石榴ImmutableMap
来保证。还值得一提的是,最好确保地图条目本身是不可变的。