【发布时间】:2012-08-12 11:34:57
【问题描述】:
正如这里所解释的:ConcurrentHashMap in Java? Java 的并发 hashmap 是线程安全的。 Java 控制器用于 Web 请求,可以同时从 Web 调用。
我的问题是:我应该在 Java 中使用并发哈希映射而不是哈希映射吗?
【问题讨论】:
标签: java thread-safety hashmap concurrenthashmap
正如这里所解释的:ConcurrentHashMap in Java? Java 的并发 hashmap 是线程安全的。 Java 控制器用于 Web 请求,可以同时从 Web 调用。
我的问题是:我应该在 Java 中使用并发哈希映射而不是哈希映射吗?
【问题讨论】:
标签: java thread-safety hashmap concurrenthashmap
如果您要进行并发读取以及写入或两个并发写入,则只需要ConcurrentHashMap。如果您在初始化后从不更改地图,则普通的HashMap 就足够了。
控制器通常不应包含任何特定于请求的状态(任何此类状态都应作为参数传递给方法),如果您以这种方式设计控制器,则控制器内不需要任何同步。
【讨论】:
如果您有多个线程访问同一个 hashmap,则需要同步此访问。
您可以通过使用已实现此功能的对象(如 ConcurrentHashMap)或编写您自己的同步代码并使用普通的 HashMap 来做到这一点。
【讨论】: