如何在Java中同步或锁定变量?

10 浏览
0 Comments

如何在Java中同步或锁定变量?

让我使用这个小而简单的示例:

class Sample {
    private String msg = null;
    public synchronized void newmsg(String x){
        msg = x;
    }
    public synchronized String getmsg(){
        String temp = msg;
        msg = null;
        return temp;
    }
}

让我们假设函数newmsg()由我无法访问的其他线程调用。

我想使用同步方法来保证字符串msg每次只能被一个函数使用。换句话说,函数newmsg()不能与getmsg()同时运行。

0