黑马程序员技术交流社区
标题:
多线程——单利设计模式之——懒汉式
[打印本页]
作者:
杨栋
时间:
2013-8-23 10:18
标题:
多线程——单利设计模式之——懒汉式
/**
* 单利设计模式之懒汉式:
* 1.懒汉式与饿汉式的区别在于懒汉式延时加载,用的时候再加载;
* 2.在多线程访问懒汉式的时候会痴线安全隐患,可能会创建出多个对象,解决办法就是用同步;
* 3.尽量用同步代码块,因为如果用同步函数的话每次都判断锁浪费资源,
* 所以用同步代码块,在外层加上一个s是否已经存在的判断;
* 4.同步函数用的锁是this,静态同步函数用的锁是类.class,这块要注意;
* */
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;
}
}
作者:
HM张博文
时间:
2013-8-23 18:40
有人提出两次判断空的方法在java里面是没用的,是C++使用的方法
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2