在Java中使用方法签名中的volatile关键字?

时间:2014-10-27 11:19:43

标签: java multithreading volatile

嘿所以我正在检查以下代码,我发现了一个在线(https://javarevealed.wordpress.com/tag/initialization-on-demand-holder),它使用双重检查锁定来实现Singelton设计模式,如下所示:

public static volatile SingletonExample getSingletonInstance() {
        if (null == singletonInstance) {
            synchronized (SingletonExample.class){
                    if (null == singletonInstance) {
                         singletonInstance = new SingletonExample();
                     }
            }
        }
    return singletonInstance;
}

我的问题是这里在方法签名中使用volatile关键字有什么意义?我认为volatile修饰符只能在字段上使用?

任何帮助都会很棒。

感谢。

0 个答案:

没有答案