【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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SpringBoot前后端数据传输加密「建议收藏」

    SpringBoot前后端数据传输加密「建议收藏」采用的算法为AES算法1.编写加密工具类packagecom.pibigstar.utils;importjavax.crypto.Cipher;importjavax.crypto.KeyGenerator;importjavax.crypto.spec.SecretKeySpec;importorg.apache.commons.codec.binary.Base…

    2022年5月10日
  • jenkins拉取gitlab代码_python 获取jenkins的构建信息

    jenkins拉取gitlab代码_python 获取jenkins的构建信息前言python自动化的脚本开发完成后需提交到git代码仓库,接下来就是用Jenkins拉取代码去构建自动化代码了新建项目打开Jenkins新建一个自由风格的项目源码管理Repository

    2022年7月30日
  • SpringBoot基础之MockMvc单元测试

    SpringBoot基础之MockMvc单元测试SpringBoot创建的Maven项目中,会默认添加spring-boot-starter-test依赖。在《5分钟快速上手SpringBoot》中编写的单元测试使用了MockMvc。本篇文章就围绕MockMvc在SpringBoot中的使用进行讲解。什么是Mock在面向对象的程序设计中,模拟对象(英语:mockobject)是以可控的方式模拟真实对象行为的假对象。在编程过程中,通常通过模…

    2022年10月22日
  • Σ求和符号_西格玛符号怎么打

    Σ求和符号_西格玛符号怎么打转自:https://zh.wikipedia.org/wiki/%E6%B1%82%E5%92%8C%E7%AC%A6%E5%8F%B7求和符号(Σ,sigma),是欧拉于1755年首先使用的。这个符号是源于希腊文σογμαρω(增加)的字头,Σ正是σ的大写。求和的结果是给定的数值相加后的总值,又称加总。举例而言,若有4个数值:1、3、5、7,则这4个数值的总和为:

    2022年10月9日
  • Windows 批处理(bat)语法大全

    Windows 批处理(bat)语法大全本文是学习bat整理的笔记,由于内容较多,建议结合右侧文章大纲查看。%~dp0[获取当前路径]%~dp0 “d”为Drive的缩写,即为驱动器,磁盘、“p”为Path缩写,即为路径,目录cd%~dp0:进入批处理所在目录cd%~dp0bin\:进入批处理所在目录的bin目录示例这个示例在win10x64测试正常::作用:以管理员身份安装Apached:c…

    2022年7月21日
  • Spatial Dropout

    Spatial DropoutSpatialDropout是Tompson等人在图像领域提出的一种dropout方法。普通的dropout会随机地将部分元素置零,而SpatialDropout会随机地将部分区域置零,该dropout方法在图像识别领域实践证明是有效的。dropoutdropout是怎么操作的?一般来说,对于输入的张量x,dropout就是随机地将部分元素置零,然后对结果做一个尺度变换。比如,我们随机初始化一…

    2022年4月30日

发表回复

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

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