我需要一个数据结构,它是一个 LinkedHashMap 并且是线程安全的。
我怎样才能做到这一点 ?
原文由 Peter Lee 发布,翻译遵循 CC BY-SA 4.0 许可协议
我需要一个数据结构,它是一个 LinkedHashMap 并且是线程安全的。
我怎样才能做到这一点 ?
原文由 Peter Lee 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.1k 阅读
8 回答6.3k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
1 回答2.1k 阅读✓ 已解决
您可以将映射包装在 Collections.synchronizedMap 中以获得保持插入顺序的同步哈希映射。这不如 ConcurrentHashMap 高效(并且不实现 ConcurrentMap 的额外接口方法),但它确实为您提供了(某种程度上)线程安全行为。
即使是强大的 Google Collections 似乎也没有解决这个特殊问题。然而,有 一个项目 确实试图解决这个问题。
我对同步说了一些,因为在可能发生并发修改异常的意义上,迭代仍然不是线程安全的。