1. 程式人生 > >android之單例模式:懶漢式和餓漢式的區別

android之單例模式:懶漢式和餓漢式的區別

單例模式:懶漢式和餓漢式
   餓漢式:執行緒安全:構造方法私有化:推薦使用
         public class Singleton{
           private static Singleton singleton = new Singleton ();//類建立時,就建立一個靜態物件,之後不會再改變
            private Singleton (){}
            public Singleton getInstance(){return singletion;}
       } 


   懶漢式:執行緒不安全:若生成例項的時候若不加synchronized(執行緒同步),會發生執行緒不安全:如:當一個執行緒執                  行到(2)時,還未生成物件,另一個執行緒執行(1);這時就會發生執行緒不安全
       public class Singleton{
            private static Singleton singleton = null;
            public static  synchronized getInstance(){
                 if(singleton==null){//(1)
                       //(2)
                     singleton = new Singleton();//(3)
                 }
                return singleton;
            }
       }