自学与复习设计模式笔记(2)单例模式

来源:互联网 发布:matlab软件介绍 编辑:程序博客网 时间:2024/06/05 22:42

单例模式的类只有一个对象实例。


1.最简单方式,最常见的写法,不考虑线程

 public class SingleMode    {        private static SingleMode ins;        private SingleMode() { }        public static SingleMode Ins        {            get            {                if (ins == null)                {                    ins = new SingleMode();                }                return ins;            }        }    }
2.安全的单例模式

 public class SingleMode    {        private static volatile SingleMode ins;        private static readonly object obj = new object();        private SingleMode() { }        public static SingleMode Ins        {            get            {                if (ins == null)                {                    lock (obj)                    {                        if (ins == null)                        {                            ins = new SingleMode();                        }                    }                }                return ins;            }        }    }

volatile关键字

readonly关键字





原创粉丝点击