hke21 2008-07-15 22:15
浏览 185
已采纳

java 全局变量???

假如用一个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就要加上了.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?