源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

使用mutex实现应用程序单实例运行代码分享

  • 时间:2020-11-26 15:13 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:使用mutex实现应用程序单实例运行代码分享
System.Threading.Mutex :同步基元,它只向一个线程授予对共享资源的独占访问权。 实现原理: 在程序启动时,请求一个互斥体,如果能获取对指定互斥的访问权,就继续运行程序,否则就退出程序。 测试代码:
[u]复制代码[/u] 代码如下:
class Test      {          /// <summary>          /// 应用程序的主入口点。          /// </summary>           [STAThread]          static void Main(string[] args)          {               bool flag=false;               System.Threading.Mutex mutex=new System.Threading.Mutex(true,"Test",out flag);               //第一个参数:true--给调用线程赋予互斥体的初始所属权               //第一个参数:互斥体的名称               //第三个参数:返回值,如果调用线程已被授予互斥体的初始所属权,则返回true               if(flag)               {                    Console.Write("Running");               }               else               {                    Console.Write("Another is Running");                    System.Threading.Thread.Sleep(5000);//线程挂起5秒钟                    Environment.Exit(1);//退出程序               }               Console.ReadLine();          }
运行结果: 第一次运行,输出"Running"。 不关闭第一次运行的程序, 进行第二次运行,输出"Another is Running",五秒钟后,程序自动退出。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部