----------------------
ASP.Net+Android+IO开发S、
.Net培训、期待与您交流! ----------------------
综上所述:既然功能一样,饿汉式这么简便,所以推荐使用饿汉式。
---------------------- ASP.Net+Android+IO开发S、 .Net培训、期待与您交流! ----------------------
设计要求:
1.只能被实例化一次。
2.由自己创建实例。
3.能向该类任意引用提供上述实例。
方式一:饿汉式
class Single
{
}
方式二:懒汉式
class Single
{
private static Single s= null;
private Single(){};
public static Single getInstance()
{
if(s==null)
s=new Single();
return s;
}
}
显然,此懒汉式在多线程访问会出现安全问题,所以加锁改进如下:
class Single
{
private static Single s=null;
private Single(){}
public static Single getInstance()
{
if(s==null)
{
synchronized(Single.class)
if(s==null)
{
s=new Single();
}
}
return s;
}
}
综上所述:既然功能一样,饿汉式这么简便,所以推荐使用饿汉式。
---------------------- ASP.Net+Android+IO开发S、 .Net培训、期待与您交流! ----------------------