黑马程序员技术交流社区

标题: 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