首页 产业 观察 点评 展会 新品 厂商 区块链 客户端
中国IT产经新闻 / 电子产业
collections.synchronizedmap将方法上锁实现线程安全
编辑:IT产经
2021-01-25
来源:

     众所周知,HashMap本身非线程安全的,但是当使用Collections.synchronizedMap(new HashMap()) 进行包装后就返回一个线程安全的Map。


     创建了一个synchronizedMap,于是就翻了一下源码,看了一下具体的实现,发现底层其实是通过synchronized锁机制实现的,在此记录一下,当作学习心得。
      1、按住ctrl点击进去发现创建了一个synchronizedMap的实例:
      2、再点进去可以看到实际上是在Collections类中维护了一个静态内部类SynchronizedMap,该内部类中维护了一个普通的map和一个对象排斥锁mutex。
      3、在new synchronizedMap()的时候,如果传入了mutex参数,则将对象排斥锁赋值为传入的对象;如果没有,则将对象排斥锁赋值为this,即调用synchronizedMap的对象,也就是该例中的users。
      4、创建出synchronizedMap之后,再操作该map时,就会将方法上锁,实现线程安全。

0
网友评论[查看全部] 评论总数:0
    
    验证码:    
IT大杂汇 更多
IT产经新闻
点评(0)
更新时间:2021-01-21

由深圳市物联网产业协会主办、深圳市嘉啡食品有限公司协办、北京宏思电子技术有限责任公司提供支持,以“牛气冲天,谁‘羽’争锋&rdquo...[详细]

点评(0)
更新时间:2021-01-14

12月18日岚图FREE电动版和增程式油电混动版正式亮相,并将2021年三季度以直营模式销售。在ESSA架构下的岚图FREE共分为EV驱动和EREV驱动两个版本,笔者...[详细]

点评(0)
更新时间:2021-01-11
热点聚焦更多
厂商动态更多
展会聚焦 更多
产业报告更多
网红经济更多
  • CopyRight @ 2008-2020 中国IT产经新闻网 All Right Reserved 违者必究 京备05618372