欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用mutex實現(xiàn)應用程序單實例運行代碼分享

 更新時間:2014年01月06日 10:29:51   作者:  
本文主要介紹了使用Mutex實現(xiàn)應用程序單實例運行的方法,實現(xiàn)原理是在程序啟動時,請求一個互斥體,如果能獲取對指定互斥的訪問權,就繼續(xù)運行程序,否則就退出程序

System.Threading.Mutex :同步基元,它只向一個線程授予對共享資源的獨占訪問權。
實現(xiàn)原理: 在程序啟動時,請求一個互斥體,如果能獲取對指定互斥的訪問權,就繼續(xù)運行程序,否則就退出程序。
測試代碼:

復制代碼 代碼如下:

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);
              //第一個參數(shù):true--給調用線程賦予互斥體的初始所屬權
              //第一個參數(shù):互斥體的名稱
              //第三個參數(shù):返回值,如果調用線程已被授予互斥體的初始所屬權,則返回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",五秒鐘后,程序自動退出。

相關文章

最新評論