单例模式是我们在开发过程中是一种非常常见的设计模式,而在单线程环境下使用单例模式,是没有问题的,并且呢可以充分的发挥单例模式的各个优点,而目前我们接触的项目,基本上都是多线程的,那么在多线程环境下,如果使用普通的单例模式是有问题的,想必很多的开发朋友也都是知道的,但是问题能否重现出来呢,能否模拟出多线程下的问题呢,那么接下来给各位来介绍多线程debug出单例模式的问题
先上代码:单例类
package pattern.single;
/**
* @ClassName LazySingleton
* @Description TODO
* @Author 邢庆
* @Date 2021/2/24 21:16
* @Version 1.0
**/
public class LazySingleton {
/**
* 私有构造器
*/
private LazySingleton() {
}
private static LazySingleton lazySingleton = null;
/**
* 懒汉式单例
* @return
*/
public static LazySingleton getInstance() {
if(lazySingleton == null) {
lazySi