单例模式

上一篇 / 下一篇  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-03-27  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

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

RSS订阅

Open Toolbar