static
config * instance =nil;
+(config *) instance
}return
instance; }
+(id)allocwithzone:(nszone *)zone
}returnnil; }
在上面兩個例子中都用到 關鍵字@synchronized,這裡大概說一下
@通過 synchronized關鍵字
來宣告synchronized 塊。語法如下:
@synchronized(syncobject)
synchronized 塊是這樣乙個**塊,其中的**必須獲得物件 syncobject (如前所述,可以是類例項或類)的鎖方能執行,具體機制同前所述。由於可以針對任意**塊,且可任意指定上鎖的物件,故靈活性較高。
鎖 synchronized關鍵字
必須掌握知識點 1 synchronized修飾普通方法 在修飾普通方法的時候,這個鎖是當前例項物件,即物件鎖。也就是說,這個鎖只對當前的物件例項建立的執行緒有效,若我們在程式中建立多個物件例項,不同例項分別建立乙個執行緒,這時候這些執行緒都能同時進到這個方法裡,也就是說這個物件鎖,只對當前例項執行...
單例模式(含執行緒鎖關鍵字)
單例就是只有乙個例子,只有乙個物件,不允許別人再建立物件。餓漢式 初始化即建立物件 class single public static single getinstance 懶漢式 方法被呼叫時,才建立物件,也叫做物件的延時載入 class single public static single ...
單例模式(含執行緒鎖關鍵字)
單例就是只有乙個例子,只有乙個物件,不允許別人再建立物件。餓漢式 初始化即建立物件 class single public static single getinstance 懶漢式 方法被呼叫時,才建立物件,也叫做物件的延時載入 class single public static single ...