前面了解了ArrayList
线程不安全的问题,即使Vector
也不是绝对线程安全的。
http://blog.csdn.net/github_26672553/article/details/77164120
我们这里使用另外一个方法『解决ArrayList线程安全问题』
#同步代码块
synchronized (锁住的对象){
//要执行的任务
}
我们前面的案列是在子线程中循环很多次给list对象添加字符串。
我们现在改造这个子线程的run()
方法:
@Override
public void run() {
synchronized (list){
for (int i=1;i<=5000;i++){
this.list.add("hi");
}
}
}