国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

使用mutex實現應用程序單實例運行代碼分享

2020-01-24 02:57:15
字體:
來源:轉載
供稿:網友

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

復制代碼 代碼如下:

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",五秒鐘后,程序自動退出。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东乌| 响水县| 蓝田县| 怀集县| 康乐县| 定陶县| 句容市| 昔阳县| 周宁县| 泸水县| 长治县| 高阳县| 崇信县| 颍上县| 台安县| 临汾市| 班戈县| 南昌市| 拜泉县| 清镇市| 璧山县| 东源县| 聂拉木县| 习水县| 乐业县| 航空| 郸城县| 会泽县| 临沧市| 宁乡县| 乌兰县| 容城县| 革吉县| 额尔古纳市| 武山县| 托克逊县| 小金县| 囊谦县| 黄冈市| 开鲁县| 饶河县|