網頁 貼吧 文章 作者 工作  
網頁搜尋
 
 愛PO吧 >> 史萊姆好玩遊戲 >> 瀏覽文章
回覆 加入我的最愛 與好友分享

C#,利用Mutex實現應用程式的單實例運行

本被文章 0 次, 共有回覆 1  
0
 
0
System.Threading.Mutex :同步基元,它只向一個執行緒授予對共用資源的獨佔訪問權。[MSDN]實現原理: 在程式啟動時,請求一個互斥體,如果能獲取對指定互斥的訪問權,就繼續運行程式,FTP傳輸.下載.遠端控制工具否則就退出程式。
測試代碼: class Test { /// /// 應用程式的主入口點。 /// [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秒鐘 //請勿使用this.close(); 會有錯誤發生 Environment.Exit(1);//退出程式 } Console.ReadLine(); }
運行結果:
第一次運行,輸出"Running"。
不關閉第一次運行的程式, 進行第二次運行,輸出"Another is Running",五秒鐘後,程式自動退出。

逛上一篇:   逛下一篇:

作者: ebqukpae
  (2010-01-26 15:12)
推薦文章: 將本文章推薦到【百度收藏】 將本文章推薦到【YouPush】 將本文章推薦到【udn共享書籤】 將本文章推薦到【Fiigo】書籤

 本文章共有回覆 1 篇,分 1 頁
 聲明:以上內容不代表本站立場,且內容由網友發表提供,若有爭議或違法由發表者承擔,本站將不負責連帶責任,謝謝。

 IPoBar  愛PK  愛遊戲  愛online
新手教學 客服中心 站務公告 交換連結 合作提案 關於我們
 
版權所有©ipobar Ltd., All Rights Reserved.
論壇內會員言論僅代表個人觀點,不代表本站同意其說法,本討論區不承擔由該言論所引起的法律責任