[シングルトン]スレッド安全性の問題の揮発性役割怠惰なタイプ

オリジナルリンク:https://blog.csdn.net/Activity_Time/article/details/96496579
******

1.怠惰な人間のJava実装
public class Singleton {

    // 唯一实例
    private volatile static Singleton instance = null;

    // 私有构造
    private Singleton() {
        System.out.println("Singleton构造" + this);
    }

    // 获取实例
    synchronized public static Singleton getInstance() {
        return instance == null ? (instance = new Singleton()) : instance;
    }

}
2スレッドの安全性の問題の下で、マルチスレッド環境のSingletonパターン:

モードSingletonパターンを飢え:マルチスレッド環境では、スレッドセーフ
怠惰モードシングルトンモード:マルチスレッド環境では、スレッドセーフ

どうやら、原子文の空気の動作に起因するとオブジェクトを作成し、間違って、ダーティ・リードやその他の問題は、マルチスレッドのシナリオで発生します
プロセスを同期させるだけでなく、他のスレッドへの更新通知変数がvolatileキーワードを使用することを確認する必要があります

3.揮発性キーワード(糸の可視性)

揮発性Javaで詳細キーワード:https://www.cnblogs.com/zhengbin/p/5654805.html#_label1
Javaのメモリモデル:https://www.cnblogs.com/zhengbin/p/6407137.html
ここに画像を挿入説明

おすすめ

転載: www.cnblogs.com/ACTIM/p/11230105.html