黑马程序员技术交流社区

标题: 分享: 解决线程不安全的方式 [打印本页]

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

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






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2