java 单例模式

时间:2014-12-19 19:17:38   收藏:0   阅读:197




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

// }

// }

}

}


评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!