1. 程式人生 > >單例模式之雙鎖機制

單例模式之雙鎖機制

//單例模式(雙鎖機制)
         1.建立一個單例類
         2.建立一個加鎖的靜態單例物件
         3.建立一個無參的建構函式
         4.建立一個靜態的方法返回值為單例物件,判斷物件是否為空如果為空則再加同步鎖,把物件鎖住,然後再次判空,如果為空則建立例項,然後返回例項

        
         public class Singleton{
         //先加一把鎖
        public volatile static Singleton singleton;
        //無參構造
         public Singleton{

         }

        public static Singleton getInstance(){
       if(null==singleton){
   //同步鎖

        synchronized(Singleton.class){
       if(null==singleton){

       singleton=new Singleton();

        }

       }
       }
      return singleton;
      }
}