【发布时间】:2017-05-22 05:26:27
【问题描述】:
我在我的多线程代码之外创建了一个哈希图。以后这个 hasmap 不会有任何变化。
在此之后,我将启动两个线程,这两个线程都将从这个 hashmap 中读取(是的,只有读取操作)。如果 thread1 正在从我的 hashmap 对象中读取,线程 2 是否也可以同时读取?还是我需要 Concurrenthashmap 或任何其他版本的 Map?
【问题讨论】:
-
不,您不需要
ConcurrentHashMap,您真正应该传递给消费者的是ImmutableMap或UnmodifiableMap -
由于您将只进行读取操作,因此不需要同步版本的地图。
标签: java multithreading concurrency