java 单例模式
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
public class Singleton4 {
private Singleton4(){};
private static Singleton4 single = null;
private static Lock lock = new ReentrantLock();
public static Singleton4 getInstance(){
if(single == null){
getSingle();
}
return single;
}
private static void getSingle(){
//枷锁 1
lock.lock();
if(single == null){
single = new Singleton4();
}
lock.unlock();
//枷锁 2
// synchronized(Singleton4.class)
// {
// if(single == null){
// single = new Singleton4();
// }
// }
}
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。