[英]Should I use ConcurrentHashMap or Hashmap or SynchronizedMap?
我在多线程代码之外创建了一个哈希表。 以后,此hasmap中将不会有任何更改。
在此之后,我将启动两个线程,这两个线程都将从该哈希图中读取(是的,仅读取操作)。 如果thread1正在从我的hashmap对象读取,则线程2也可以同时读取吗? 还是我需要Concurrenthashmap或任何其他版本的Map?
不,您不需要并发的Hash映射。但是仅因为您不进行任何修改即可。 您可以毫无问题地阅读相同内容。
如果线程1正在从我的哈希映射对象中读取,线程2是否也可以同时读取?
如果确定没有写操作,则根本不需要使用“同步”选项。
您还可以使用不可变地图
一个地图,其内容永远不会改变,其其他重要属性在ImmutableCollection中进行了详细介绍
如果只需要读操作,则无需使用同步。如果创建后未进行任何写操作,则使其不可变,因此没有主体可以更改它。不需要同步。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.