创建对象实例的static方法前加synchronized即可
public class SingletonTest03 {
public static void main(String[] args) {
new Thread(()-> {
Singleton instance1 = Singleton.getInstance();
},"t1").start();
new Thread(()-> {
Singleton instance2 = Singleton.getInstance();
},"t2").start();
}
}
class Singleton {
private static Singleton instance;
private Singleton() {}
public static synchronized Singleton getInstance() {
if(instance == null) {
instance = new Singleton();
System.out.println("已创建");
}
return instance;
}
}
本文介绍了一种使用同步静态方法实现线程安全的单例模式的方法。通过在Singleton类的getInstance方法上添加synchronized关键字,确保了多线程环境下Singleton实例的唯一性和创建过程的原子性。

4万+

被折叠的 条评论
为什么被折叠?



