黑马程序员技术交流社区
标题:
java基础汇总-第九弹
[打印本页]
作者:
hmCEO
时间:
2016-5-24 23:02
标题:
java基础汇总-第九弹
如果两个线程同时操作一个ArrayList对象
可能出现情况:
1.CPU 切换到Thread-0,调用add("abc")方法执行elementData[0] = "abc";
2.CPU 切换到Thread-1,调用add方法执行elementData[0] = "def",此时"abc"被覆盖,相当于没有添加到集合中
因此需要使用同步机制,Thread-0 和 Thread-1 使用的锁是this,this指向同一个ArrayList对象
实际开发:
利用Collections.synchronizedList();返回一个同步的集合,不会使用Vector
作者:
hmCEO
时间:
2016-5-24 23:03
自己来顶哈哈哈
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2