[問題] 同時跑同一隻程式

看板java作者 (Price)時間12年前 (2012/03/01 16:12), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串1/1
最近再寫Java Applet的程式, 需求是要同時多開於同一個網頁 但發現一個的問題...假設在"同一個網頁", "同一時間", 開4個一模一樣的程式 程式裡面某一個static值A, assign了某一個random數字. 4隻程式各自獨立, 理論上是4個不同的random數字. assign前也先Print過, 確定是不同數字. 但結果會導致4隻程式的A , 全部拿到相同的數字? 所以同一時間多開一模一樣的程式, 會導致static值互蓋?? 如果真的這樣那我得改寫, 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.163.3.187 ※ 編輯: xan 來自: 118.163.3.187 (03/01 16:13)

03/01 17:17, , 1F
沒 call setSeed?
03/01 17:17, 1F
我剛自己Google,找到了可能的原因,在這種情況下多開Applet 會在同一個JVM裡面執行, 這個JVM裡面的Classes跟DLL都會互相share 剛好我也有import DLL, 就算改寫也還是會出問題...還要找其他方法 ※ 編輯: xan 來自: 118.163.3.187 (03/01 17:23)

03/01 21:06, , 2F
可以請問你是怎麼產生random數字的嘛?
03/01 21:06, 2F
我的Random數字其實是UUID, 所以不會重複, 而且我也找到解決方法了 就是在網頁端的applet語法裡面, 要加一行<PARAM name="separate_jvm" value="true"> 這樣有幾個程式, java就會開幾個JVM. 避免Class跟DLL記憶體互蓋的問題 ※ 編輯: xan 來自: 118.163.3.187 (03/02 11:10)
文章代碼(AID): #1FJozqrs (java)