【C#】 Mutex简单示例

【C#】 Mutex简单示例Mutex简单示例:namespaceMutexTest{classProgram{//用于Mutex的TeststaticvoidMain(string[]args){System.Security.Cryptography.MD5md5=newSystem.Securi…

大家好,又见面了,我是你们的朋友全栈君。

Mutex简单示例:

namespace MutexTest
{
    class Program
    {
        //用于Mutex的Test
        static void Main(string[] args)
        {
            System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
            string dir = System.Environment.CurrentDirectory;
            dir = dir.Replace("/", "");
            dir = dir.Replace("\\", "");
            byte[] result = md5.ComputeHash(System.Text.Encoding.Default.GetBytes(dir));
            string md5Text = System.Text.Encoding.Default.GetString(result);
            bool runOne;
            System.Console.WriteLine("目录层级的Muxtex测试,请点开多个此程序控制台:");
            //增加using防止Muxtex在程序运行时被垃圾回收
            using (System.Threading.Mutex run = new System.Threading.Mutex(true, md5Text, out runOne))
            {
                if (!runOne)
                {
                    System.Console.WriteLine("同一目录已经运行了一个程序实例,无法重复运行");
                    System.Console.ReadLine();
                    return;  //增加return语句,防止用户回车后继续运行程序;
                }

                try
                {
                    while (true)
                    {
                        //程序执行主体代码
                        System.Console.Write(".");
                        System.Threading.Thread.Sleep(1000);
                    }
                }
                finally
                {
                    //释放当前Mutex一次
                    run.ReleaseMutex();
                }
            }


        }
    }
}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/153223.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python入门教程(非常详细)下载_古典吉他入门零基础

    python入门教程(非常详细)下载_古典吉他入门零基础世界上没有绝对的公平,如果我们起点就比别人第一步,那就更需要比别人努力了。每天比别人努力多一点点,就会有很大的突破。你必须特别努力,才能显得毫不费力。期待你成为理想中的自己那一天,加油!

    2022年8月29日
    5
  • dp怎么接显示器和主机_电脑dp接口能单独接显示器吗

    展开全部可以使用。DP在传输视频信号的同时对高清音频信号传输支持,同时支持更高的分辨率32313133353236313431303231363533e4b893e5b19e31333433633362和刷新率。但是,液晶显示器虽然有DP接口,它的作用只是能连接DP信号线,而不可能100%按照DP标准去运行。原因是,其受液晶屏面板限制,分辨率和刷新率不可能跟上显示卡提供的信号的分辨率和刷新率,因为…

    2022年4月17日
    1.1K
  • python 保留两位小数

    python 保留两位小数>>>a=1>>>b=3>>>print(a/b)0>>>#方法一:…print(round(a

    2022年7月5日
    20
  • navicatfor激活码(注册激活)

    (navicatfor激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~2K…

    2022年4月1日
    865
  • Struts2拦截器实现异常处理[通俗易懂]

    Struts2拦截器实现异常处理[通俗易懂]Struts2拦截器实现异常处理机制在j2ee项目中,系统内部难免会出现一些异常,如果把异常放任不管直接打印到浏览器可能会让用户感觉莫名其妙,也有可能让某些用户找到搞定系统的方法。所以不要在页面上输出错误信息,使用log日志的方式处理异常并记录异常。就拿struts2+hibernate+spring项目说明:通常一个页面请求到后台以后,首先是到action(也就是所谓mvc的c

    2022年9月1日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号