如何確保JAVA程式在一臺機器上不能同時執行兩個例項

時間 2021-09-05 17:58:45

1樓:匿名使用者

啟動後,使用檔案鎖鎖住檔案,第二個程序檢視是否檔案被鎖,如果鎖了,就退出去,如:

filechannel channel = new randomaccessfile(隨便一個檔案, "rw").getchannel();

if(channel.trylock()== null)

2樓:

沒實踐過,提供個思路給你: 1.比如程式啟動後你可以在某個目錄下,最好是本程式自己的所在目錄裡建立一個特殊名字的檔案,每當啟動該程式檢測檔案存在與否,關閉程式則刪除檔案.

2. 找找如何獲得系統程序,如何給自己的程式自定義一個程序名,之後就是啟動前檢測程序存在與否,思路大概這樣.

就想到2種,希望能幫助你

3樓:新葉給力

使用單例模式。

單例模式是一種常用的軟體設計模式。在它的核心結構中只包含一個被稱為單例的特殊類。通過單例模式可以保證系統中一個類只有一個例項而且該例項易於外界訪問,從而方便對例項個數的控制並節約系統資源。

如果希望在系統中某個類的物件只能存在一個,單例模式是最好的解決方案。

單例模式是設計模式中最簡單的形式之一。這一模式的目的是使得類的一個物件成為系統中的唯一例項。要實現這一點,可以從客戶端對其進行例項化開始。

因此需要用一種只允許生成物件類的唯一例項的機制,「阻止」所有想要生成物件的訪問。使用工廠方法來限制例項化過程。這個方法應該是靜態方法(類方法),因為讓類的例項去生成另一個唯一例項毫無意義。

[2]static uniqueinstance是singleton的唯一例項, static sharedinstance將把它返回客戶端。通常,sharedinstance會檢查uniqueinstance是否已經被例項化。如果沒有,它會生成一個例項然後返回uniqueinstance。[2]

某一個軟體只能執行一個,如何同時執行多個?有辦法嗎?

4樓:匿名使用者

目前的電腦上,是無法實現這個功能的,無論是系統自帶還是第三方軟體限制,或是許可權限制都無法實行這個功能的!

我有一個極端的辦法,你可以參考下

1.新建一個普通使用者,給別人用!(普通使用者是無安裝軟體的許可權的)2.

刪除電腦多餘的軟體,或在安裝軟體的目錄設定許可權,只給管理員開啟,其他使用者無法開啟!只留給一個你想要給他們用的軟體,這個資料夾給他們執行的許可權即可!那麼這個電腦上除了管理員外,其他使用者只能執行我指定的許可權了!

其他軟體無許可權開啟!

兩臺機器,一臺機器雙網絡卡,一臺機器單網絡卡怎麼共享上網遊戲

要點如下 1 能上網的x計算機裝2個網絡卡 a 依賴它internet b 和另外一個計算機y連線 2 直連網線連線之 3 a網絡卡屬性 高階 internet勾上,選擇b4 服務中的routing and remote access要求啟動 等待分配y計算機的ip,沒分配到就寫b網絡卡的網段,閘道...

一臺機器能同時開啟多個防火牆嗎?

最好不要同時開啟多個防火牆,容易衝突,防火牆都是執行在核心層的,搞不好就會藍屏。一臺電腦上可以安裝多個防火牆嗎 做好別安太多。安個360衛士和卡巴斯基就可以了。他們之間有合作 不會其衝突。如果這兩個都搞不定的木馬和病毒。那其它的就更不用說了。我廣州百腦匯的 沒事就愛研究這些。防火牆之間是不會衝突的。...

一臺機器耗電1kw h,2個小時耗電多少?

1kw h等於1度電,不是kw h。千瓦時就是平時所說的 度 是電功的單位,符號 kw h,計算公式為功率乘以時間。假設一臺耗電裝置的功率為2500瓦,即其一小時的耗電量為2.5千瓦時,也就是一小時度電。千瓦 時 這個單位主要用於量度電力,因為 千瓦 時 比焦耳更容易被大眾瞭解,並更易轉化為電器使用...