我们可以在多线程环境中使用Hashmap吗?

时间:2014-09-04 06:39:28

标签: java multithreading

Hashmap未同步。假设我想在多线程环境中使用Hashmap。 hashmap的行为是什么?

2 个答案:

答案 0 :(得分:4)

由于它不同步,因此它不是线程安全的。

如果您正在寻找同步,请使用ConcurrentHashMap

答案 1 :(得分:1)

同时修改会导致HashMap输出无法预测,您将体验ConcurrentModificationException

  

请注意,此实现未同步。如果有多个线程   同时访问哈希映射,以及至少一个线程   从结构上修改地图,必须在外部进行同步。 (一个   结构修改是添加或删除一个或多个的任何操作   更多映射;只是改变与键相关的值   实例已经包含的不是结构修改。)

Documentation