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();

// }

// }

}

}


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。