针对面试题中频频出现的问题:写一个多线程安全的单例模式。在此做一个记录。
很多博客列举了多种线程安全单利模式的例子,写的很棒,推荐给大家看: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;
}
}