zoukankan      html  css  js  c++  java
  • 单件模式 多线程

    2010-8-19,做了个多线程的案例。有单件模式的多线程(方法:InstanceSingleTon)和计数的多线程(方法:Count)。
    代码比较简单,主要是code单件模式,多线程同步,异步的概念。
    贴代码如下:
     class Program
        {
            static void Main(string[] args)
            {
     
                Thread[] threads = new Thread[10];
     
                for (int i = 0; i < 10; i++)
                {
                    threads[i] = new Thread(new ThreadStart(SingleTon.Count));
                }
     
                foreach (Thread t in threads)
                {
                    t.Start();
                }
     
                Console.ReadLine();
            }
        }
     

        public class SingleTon
        {
            static int intIn = 0;
     
            public static SingleTon instance;
            private static object lockHelper = new object();
     
            private SingleTon()
            {
               
            }
     
            /// <summary>
            ///  计数。注释的lock代码是锁对象,实现多线程-同步操作。目的:按顺序显示索引值。1,2,3,4,5,6,7,8,9,10
            /// 现在的代码是多线程-异步操作。
            /// </summary>
            public static void Count()
            {
                //lock (lockHelper)
                //{
                //    Console.WriteLine("Current:" + Convert.ToString(++intIn));
                //}
     
                Console.WriteLine("Current:" + Convert.ToString(++intIn));
              
            }
     
            /// <summary>
            /// 单件模式,防止多线程-同步实例化
            /// </summary>
            /// <returns></returns>
            public static SingleTon InstanceSingleTon()
            {
                if (instance == null)
                {
                    lock (lockHelper)
                    {
                        if (instance==null)
                        {
                            instance = new SingleTon();
                        }
                    }
                }
                return instance;
            }
        }
  • 相关阅读:
    (转)A*算法详解及习题
    BZOJ1444[Jsoi2009]有趣的游戏——AC自动机+概率DP+矩阵乘法
    交通——set+dsu on tree
    [Codeforces1132G]Greedy Subsequences——线段树+单调栈
    BZOJ4482[Jsoi2015]套娃——贪心+set
    BZOJ4477[Jsoi2015]字符串树——可持久化trie树
    BZOJ4475[Jsoi2015]子集选取——递推(结论题)
    [UOJ86]mx的组合数——NTT+数位DP+原根与指标+卢卡斯定理
    BZOJ2428[HAOI2006]均分数据——模拟退火
    BZOJ4712洪水——动态DP+树链剖分+线段树
  • 原文地址:https://www.cnblogs.com/chinaagan/p/singleton.html
Copyright © 2011-2022 走看看