HashMap线程安全实现方式分析与比较.pdfVIP

  • 5
  • 0
  • 约小于1千字
  • 约 1页
  • 2026-04-14 发布于北京
  • 举报

hashmap线程安全的方式?

HashMap不是线程安全的,往往在写程序时需要通过一些方法来回避.其实JDK原生的了2种方法让

HashMap支持线程安全.

方法一:通过Collections.synchronizedMap()返回一个新的Map,这个新的map就是线程安全的.这个要求

大家习惯基于接口编程,因为返回的并不是HashMap,而是一个Map的实现.

方法二:重新改写了HashMap,具体的可以查看java.util.concurrent.ConcurrentHashMap.这个方法比方

法一有了很大的改进.

下面对这2中实现方法从各个角度进行分析和比较.

方法一特点:

通过Collections.synchronizedMap()来封装所有不安全的HashMap的方法,就连toString,hashCode都

进行了封装.封装的关键点有2处,1)使用了经典的synchronized来进行互斥,2)使用了模式new了一

个新的类,这个类同样实现了Map接口.在Hashmap上面,synchronized锁住的是对象,所

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档