zoukankan      html  css  js  c++  java
  • Mutex对象

    案例一

    举一个例子,设计模式中的单例模式,记得当时做机房收费系统的时候就用的单例模式防止一个界面被实例多次,而Mutex对象能达到同样的效果,防止界面被实例化多次,起到控制线程的作用。

    案例二

    如果大家还是不太理解,举一个更简单的例子就是把Mutex看做一个出租车,乘客看做线程。乘客首先等车,然后上车,最后下车。当一个乘客在车上时,其他乘客就只能等他下车以后才可以上车

    static void Main(string[] args)
            {
                bool flag = false;
                Mutex mutex = new Mutex(true,"MyMutex",out flag);
                Console.WriteLine("Flag value is {0}", flag.ToString());
                if (flag)
                {
                    Console.WriteLine("Start Running");
                }
                else
                {
                    Console.WriteLine("The Other Thread is running");
                    Thread.Sleep(TimeSpan.FromSeconds(5));
                    Environment.Exit(-1);
                }
                Console.ReadLine();
               
    
            }

    打开程序第一次时,显示 Start Runing .

    不要关闭程序,再打开程序一次。

    程序显示 The Other Thread is running

  • 相关阅读:
    前端的一些小的效果
    数组排序
    查看字符串中出现次数最多的字符以及出现的次数
    让元素垂直水平居中的方式
    MySQL
    数组_集合转换
    Spring_使用(JDBC)
    Spring_Aop基于配置文件
    Spring_Aop_(二)
    Spring_总结
  • 原文地址:https://www.cnblogs.com/sportdog/p/9505442.html
Copyright © 2011-2022 走看看