針對面試題中頻頻出現的問題:寫一個多線程安全的單例模式。在此做一個記錄。
很多博客列舉了多種線程安全單利模式的例子,寫的很棒,推薦給大家看:https://www.cnblogs.com/jiuyi/p/6105037.html
我這裏只提供最優的一種寫法(多線程環境下懶漢式單例模式實現),需要詳細看的請到我推薦的博客中學習。
package test;
/**
* @time 2019/7/19
* @author FHY
* 功能:實現多線程環境下懶漢式單例模式。
*/
public class SingletonDemo {
private static SingletonDemo instance = null;
private SingletonDemo(){}
public SingletonDemo getInstance(){
if(instance == null){
synchronized (this) {
if(instance == null){
instance = new SingletonDemo();
}
}
}
return instance;
}
}