假如用一个vector存放一个数据表,这份表程序里只能有一份,而多个线程都要访问这个vector,该怎么定义阿? 谢谢!
3条回答 默认 最新
iteye_17163 2008-07-16 10:44关注感谢hjgundam的提示..
synchronized这种使用方法确实是错误的.BS一下自己.
差点就要误人子弟了. :oops:上面的声明应该是这个样子的.
public class DataAdapter{
private static Vector data=new Vector();
public static synchronized Vector getData(){
return data;
}
}
在提取数据时.使用getData()这个方法.
同样.由于Vector是线程安全的,所以这个方法中的synchronized可以忽略不写,但如果存储值的对象是其它非线程安全的类.synchronized就要加上了.本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报