62,621
社区成员
发帖
与我相关
我的任务
分享public class TT implements Runnable { package com.kiritor;
/**
* @author Kiritor
* 饿汉式单例模式*/
public class Singleton {
private static Singleton singleton = null;
private static Object object = new Object();
//私有构造方法
private Singleton()
{
}
public static Singleton getInstance()
{
<span style="color:#FF0000;"> if(singleton== null)
{
synchronized(object)
{
/*这里在做一次的判断是:
* 当两个线程同时运行到singleton=null时
* 只能有一个A线程运行,另一个B不能运行
* 但是当不做这层判断的时候,A执行完成后(有了一个实例a),
* B开始执行,由于没有singeton==null的判断B结束之后有了一个实例b
* 这样就不能保证单例了*/
if(singleton== null)
{
singleton = new Singleton();
}
}
}</span>
return singleton;
}
}