zoukankan      html  css  js  c++  java
  • 单例模式

        //线程不安全的单例模式
        public class Singleton
        {
            private static Singleton singleton = null;
            public static Singleton Single
            {
                get {
                    if (singleton == null)
                    {
                        singleton = new Singleton();
                        return singleton;
                    }
                    else
                        return singleton;
                }
            }
            private Singleton()
            {
            }
        }
    
        //线程安全的单例模式,双重锁定
        public class ThreadSafeSingleton
        {
            private static ThreadSafeSingleton threadSafeSingleton;
            private static readonly object synRoot = new object();
            public static ThreadSafeSingleton getInstance()
            {
                if (threadSafeSingleton == null)
                {
                    lock (synRoot)
                    {
                        if (threadSafeSingleton == null)
                        {
                            threadSafeSingleton = new ThreadSafeSingleton();
                        }
                    }
                    return threadSafeSingleton;
                }
                else
                {
                    return threadSafeSingleton;
                }
            }
    
            private ThreadSafeSingleton()
            { }
        }
    
    
        //恶汉模式的单例模式,依赖公共语言库来初始化变量
        //这种静态初始化的方式是在自己被加载时就将自己实例化,所以形象的称为饿汉式单例类
        public class SafeSingleton
        {
            private static SafeSingleton singleton = new SafeSingleton();
    
            private SafeSingleton()
            { }
    
            public static SafeSingleton getInstance()
            {
                return singleton;
            }
        }
  • 相关阅读:
    经典多线程问题(四)-轮流打印字母和数字
    经典多线程问题 (一)-多线程售票
    买卖股票的最佳时机 II
    最长递增(严格递增)子序列-可以不连续
    环形链表 II
    最小栈
    买卖股票的最佳时机
    二叉树的层序遍历
    字符串相加
    最大子序和
  • 原文地址:https://www.cnblogs.com/FJuly/p/4761111.html
Copyright © 2011-2022 走看看