首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

单例模式小结

2012-09-17 
单例模式总结单例模式的使用有一个必要的条件,在一个系统要求一个类只有一个实例时才应当使用单例模式。在

单例模式总结

单例模式的使用有一个必要的条件,在一个系统要求一个类只有一个实例时才应当使用单例模式。

在懒汉式单例的时候为什么要进行线程的控制呢?

package 单例模式.懒汉模式;

public class LazySingleton {
?private static LazySingleton m_instance;
?private LazySingleton(){}
?synchronized public LazySingleton getInstance()
?{
??if(m_instance == null)
??{
???m_instance = new LazySingleton();
??}
??return m_instance;
?}
}
分析这个例子,如果在多线程的环境中,A和B同时调用该方法,A进入到?if(m_instance == null)然后开始new LazySingleton();的时候,B开始到if(m_instance == null)发现对象也是NULL,那么B也开始产生对象。这样产生了多个实例。所以要在方法的开始加上线程控制,这样就保证A和B不会同时产生实例。

热点排行