黑马程序员技术交流社区
标题:
什么是单例设计模式 懒汉式 与饿汉式的区别
[打印本页]
作者:
canvas
时间:
2011-9-15 23:51
标题:
什么是单例设计模式 懒汉式 与饿汉式的区别
class Student{
private int age;
private static Student s=new Student;
private Student(){}
public static getStudent();
{
return s;
}
public void setAge(){
this.age=age;
}
public int getAge(){
return age;
} // 饿汉式
class Single{
private static Single s=null;
private Single(){
}
publuic static SinglegetInstance(){
if(s==nul)
s=new Single(); 懒汉式 怎么解决 线程的问题???????
return s;
}
}//懒汉式
}
作者:
匿名
时间:
2011-9-16 00:06
if(s==null)
{
synchronized(Single.class)//只允许一个Single类进入
{
if(s==null)
s=new person();
}
}
作者:
匿名
时间:
2011-9-16 19:47
是线程的并发问题么?还是说怎么让线程来运行它?
作者:
匿名
时间:
2011-9-16 21:37
觉得杜桂发同学说的好像可以
publuic static SinglegetInstance(){
synchronized(Single.class)
{
if(s==nul)
s=new Single();
}
return s;
}
这样应该就可以了
作者:
李星宇
时间:
2011-9-17 08:14
class Single
{
private static Single s = null;
private Single(){}
public static Single getInstance()
{
//使用双重if判断,减少判断的次数,提高懒汉式的效率。
if(s==null)
{
synchronized(Single.class)
{
if(s==null)
s = new Single();
}
}
return s;
}
}
[
本帖最后由 李星宇 于 2011-09-17 08:27 编辑
]
作者:
匿名
时间:
2011-9-17 10:25
刚开始双重if语句没看懂,忘了考虑效率问题了,学习了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2