单例模式

上一篇 / 下一篇  2016-04-13 20:58:44 / 个人分类:设计模式

单例模式的核心思想是将构造函数私有化,再在类的内部写一个public的getInstance方法,让这个方法去判断要不要实例化。多线程情况下要进行双重判定
class Singleton{
private Singleton(){}
private static Singleton instance;
private static readonly Object synRoot = new Object();
public static Singleton getInstance(){
if(instance==null){
lock(synRoot);
if(instance==null){
instance = new Singleton;
return instance;
 }
 }
 }
 }
单例模式有“饿汉式”和“懒汉式”这两种区别。“懒汉式“是你真正用到时再建立对象
public class Singleton{
private Singleton(){}
private static Singleton singleton = null;
public static synchronized getInstance(){
if(singleton == null){
singleton = new Singleton();
 }
return singleton;
 }
 }
”饿汉式“是不管有没有需要,一上来就建立一个对象
public class Singleton{
private Singleton(){}
private static Singleton singleton = new Singleton();
public static synchronized Singleton getInstance(){
return singleton;
 }
 }

TAG:

 

评分:0

我来说两句

日历

« 2024-04-30  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 33218
  • 日志数: 12
  • 建立时间: 2016-04-06
  • 更新时间: 2016-11-08

RSS订阅

Open Toolbar