單例和多執行緒

2021-08-08 02:23:32 字數 945 閱讀 1911

單例模式,最常見的就是飢漢模式和懶漢模式,乙個是直接例項化物件,乙個是在呼叫方法時進行例項化物件。在多執行緒模式中,考慮到效能和安全問題,我們一般選擇下面兩種比較經典的單例模式

1.靜態內部類

package com.aruisi.innofarm;

/** * 靜態內部類

* @author zmk

*/public class innersingleton

public static singleton getinstance()

public static void main(string args)

}).start();

new thread(new runnable()

}).start();

new thread(new runnable()

}).start();

}}

2.雙重check

package com.aruisi.innofarm;

/** * 雙重check

* @author zmk

*/public class dubblesingleton catch (interruptedexception e)

synchronized (dubblesingleton.class)

}} return ds; }

public static void main(string args)

});thread t2 = new thread(new runnable()

});thread t3 = new thread(new runnable()

});t1.start();

t2.start();

t3.start(); }

}

多執行緒 單例模式與多執行緒

一 前言 如何使單例模式遇到多執行緒是安全的 正確的?我們在學習設計模式的時候知道單例模式有懶漢式和餓漢式之分。簡單來說,餓漢式就是在使用類的時候已經將物件建立完畢,懶漢式就是在真正呼叫的時候進行例項化操作。二 餓漢式 多執行緒 public class myobject public static...

多執行緒 多執行緒 單例設計模式

多執行緒之 單例設計模式 餓漢式 多執行緒安全 1 餓漢式 class single static single getinstance public void show class a implements runnable class test catch interruptedexceptio...

單例碰到多執行緒

include using namespace std 懶漢式碰到多執行緒,是執行緒不安全 餓汗式是執行緒安全的,用餓汗式 推薦用餓汗式,懶漢式的解決方法是加鎖 懶漢式 class singleton lazy public static singleton lazy getinstance ret...