1.双重检查加锁
public class test {
private volatile static test uniqueInstance = null;
private test(){
}
public static test getInstance(){
if(uniqueInstance == null){
synchronized (test.class){
if(uniqueInstance == null){
uniqueInstance = new test();
}
}
}
return uniqueInstance;
}
}
本文介绍了一种使用双重检查加锁机制实现单例模式的方法,通过volatile关键字和synchronized块确保了实例的唯一性和线程安全性。在getInstance()方法中,首先进行一次null检查,如果实例不存在,则进入同步代码块,再次检查实例是否已被创建,以避免不必要的同步开销。
1491

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



