黑马程序员技术交流社区
标题: 同步中的单例设计模式 [打印本页]
作者: 云水禅心 时间: 2013-10-2 20:41
标题: 同步中的单例设计模式
同步中的单例设计模式
饿汉式。
/*
classSingle
{
pricate static final Single s = new Single();
private Single(){}
public static Single getInstance()
{
return s;
}
}
*/
/*懒汉式:(实例的延时加载)因为每个对象进入都要判断Single.class这个锁,这就降低了程序运行效率,
所以用双重判断来解决这个问题。
特点:懒汉式的特点是延时加载,当多线程访问时,会出现安全问题,解决的方法是加同步,而加同步用同步代码块和同步函数都行,
但是稍微有些低效,用双重判断的形式能解决这个问题。加同步使用的锁是该类所属的字节码文件对象
*/
classSingle
{
private static Single s = null;
private Single(){}
public static Single getInstance()
{
if(s==null) //一层判断
{
synchronized(Single.class)//Single.class 是加同步使用的锁
{
if(s==null)//另一层判断
s = new Single();
}
}
return s;
}
}
classSingleDemo
{
public static void main(String[] args)
{
System.out.println("HelloWorld");
}
}
作者: 蔚蓝天色 时间: 2013-10-2 21:58
嗯,多谢分享
作者: 云水禅心 时间: 2013-10-2 22:07
应该的 互相帮助 希望能共同进步 进入26
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |