java多线程访问创建后不会修改的映射对象
创建Map<>
对象的最佳实践是什么?该对象将从多个线程访问,但在初始化后不会修改
会是:
- 使用
ConcurrentHashMap<>
对象 - 创建一个普通的
HashMap<>
对象并将其包装在Collections#unmodifiableMap
调用中?只保留对unmodifiableMap
的引用,而不是原始HashMap<>
李> - 还有别的李>
谢谢, 彼得
你可以在下面搜索框中键入要查询的问题!
创建Map<>
对象的最佳实践是什么?该对象将从多个线程访问,但在初始化后不会修改
会是:
ConcurrentHashMap<>
对象HashMap<>
对象并将其包装在Collections#unmodifiableMap
调用中?只保留对unmodifiableMap
的引用,而不是原始HashMap<>
李>
谢谢, 彼得
# 1 楼答案
你为什么不试试ImmutableMap?一旦创建就不能修改,所以不管有多少线程试图并行读取