A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

HashMap线程不安全,原理: (在多线程操作时,才会有不安全的体现),多线程操作同一个map对象,
可能会有键重复的现象
解决: 给put操作,加上锁,此时,a线程在添加元素,b线程等着,a线程添完元素,b线程再添加
键重复,原因是: put操作中,通过校验后,添加元素前,可能被另一个线程抢走,所以键可能会重复添加

具体方法:
使用同步代码块时,不同的代码块,需要被同一对象锁起来,才会有效果
1)关键字: synchronized(Object o); // 若一个对象,可以传this
2)参数: Object 为锁对象,锁一致才能有效
3){}: 需要被同步的代码块

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马