关于多线程访问Vector
有一个线程要访问Vector对象:
for(int i=0;i<v.size();i++)
{Object obj=v.elementAt(i);
......
}
另一个线程中: v.removeElementAt(3)
问会有什么问题?
------解决方案--------------------Vector本身是相对线程安全的,不会有什么大问题。
但是你这里Object obj=v.elementAt(i);之后的部分访问的obj对象有可能已经从Vector中删除了。
------解决方案--------------------最后可能会少一个数据,获取出来的数据不全
------解决方案--------------------1. 获取的数据有可能未必是自己想要的
2. 删除可能会报错,v未必有三个对象
------解决方案--------------------Vector 是一个线性安全的collection应该不会有问题吧