Csharp/C#教程:使用mutex实现应用程序单实例运行代码分享分享

System.Threading.Mutex:同步基元,它只向一个线程授予对共享资源的独占访问权。
实现原理:在程序启动时,请求一个互斥体,如果能获取对指定互斥的访问权,就继续运行程序,否则就退出程序。
测试代码:
代码如下:
classTest
    {
        ///<summary>
        ///应用程序的主入口点。
        ///</summary>
         [STAThread]
        staticvoidMain(string[]args)
        {
             boolflag=false;
             System.Threading.Mutexmutex=newSystem.Threading.Mutex(true,”Test”,outflag);
             //第一个参数:true–给调用线程赋予互斥体的初始所属权
             //第一个参数:互斥体的名称
             //第三个参数:返回值,如果调用线程已被授予互斥体的初始所属权,则返回true
             if(flag)
             {
                  Console.Write(“Running”);
             }
             else
             {
                  Console.Write(“AnotherisRunning”);
                  System.Threading.Thread.Sleep(5000);//线程挂起5秒钟
                  Environment.Exit(1);//退出程序
             }
             Console.ReadLine();
        }

运行结果:
第一次运行,输出”Running”。
不关闭第一次运行的程序,进行第二次运行,输出”AnotherisRunning”,五秒钟后,程序自动退出。

标签: ut 应用程序 程序 运行 ex tex te

C++实现string存取二进制数据的方法

C++设计模式之职责链模式

上述就是C#学习教程:使用mutex实现应用程序单实例运行代码分享分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/905158.html

(0)
上一篇 2021年10月22日
下一篇 2021年10月22日

精彩推荐