黑马程序员技术交流社区
标题:
多线程下的单例设计模式——懒汉式
[打印本页]
作者:
南无ice
时间:
2016-1-5 22:57
标题:
多线程下的单例设计模式——懒汉式
这节考点好多啊。分享一下给大家。希望加深一下理解。
下面是代码:class Single
{
private static Single s = null;
private Single(){}
public static Single getSingle()
{
//如果第一个线程获取到了单例的实例对象
//那么后面的线程获取实例就不需要进入同步代码块了。
if (s=null)
{
synchronized(Single.class)
{
if (s=null)
s = new Single;
return s;
}
}
}
}
懒汉式用于实例的延时加载。
如果多线程访问出现安全问题:通过加同步来解决。同步代码块和同步函数都以
用双重判断方式可以解决效率问题。
加同步时使用的锁是 该类所属的字节码对象。
大家多多了解下哈。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2