class SingleDemo
{
public static void main(String[] args)
{
for(int i=1;i<10;i++)
{
Thread t1 = new Test();
t1.start();
}
}
}
class Test extends Thread
{
public void run()
{
Single single = Single.getInstance();
System.out.println(this.getName() + " getInstance:"+single);
}
}
class Single
{
private static Single single = null;
private Single(){}
public static Single getInstance()
{
if(null==single)
{
synchronized(Single.class)
{
if(null==single)
single = new Single();
}
}
return single;
}
}
{
public static void main(String[] args)
{
for(int i=1;i<10;i++)
{
Thread t1 = new Test();
t1.start();
}
}
}
class Test extends Thread
{
public void run()
{
Single single = Single.getInstance();
System.out.println(this.getName() + " getInstance:"+single);
}
}
class Single
{
private static Single single = null;
private Single(){}
public static Single getInstance()
{
if(null==single)
{
synchronized(Single.class)
{
if(null==single)
single = new Single();
}
}
return single;
}
}