黑马程序员技术交流社区
标题:
多线程单例设计模式懒汉式
[打印本页]
作者:
l6781155
时间:
2015-7-10 17:17
标题:
多线程单例设计模式懒汉式
之前学习的单例模式懒汉式
在多线程下延迟加载时,
会出现同步不安全的情况。
学习了多线程后,在创建对象时,
采用双重判断并加锁的方式保证只创建一个对象。
public class Test2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
// 延迟加载的单例设计模式 即懒汉式
class Single {
// 初始化null,调用时再创建对象,延迟加载
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;
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2