看板 java 關於我們 聯絡資訊
請問各位 我最近寫了一個東西 想要固定時間去檢查某server的狀態 該server那邊會傳回DONE代表正確 我的程式才會繼續後面的執行 但是我用以下的方式...程式卻是不間段的一直檢查 我明明是設定了60秒... 我貼上簡略的code..能否有那位版友可以看出端倪 import java.util.Timer; import java.util.TimerTask; int seconds = 60; .....略 //主要執行的部分 while(jg.getStatus()!= "DONE"){ checkStart(); } timer.cancel(); //////下面是checkStart()的方法 public void checkStart() { timer.schedule(new TimerTask() { public void run() { checkStatus(); } private void checkStatus() { System.out.println("Not yet!"); } }, seconds * 1000); } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.168.194.41
PsMonkey:你的程式邏輯本身就怪怪的吧? while 會一直作... 09/25 20:00
stukk:你雖然啟動Timer但main thread還是一直在while loop 09/25 20:06
jimshsu:那請問我的主要程式那邊要如何讓目前狀態變成依照我設定 09/26 00:08
jimshsu:的時間間隔去檢查server的狀態? 09/26 00:10
stukk:把檢查伺服器狀態的部份寫在Timer裡面,並設定Timer週期性檢 09/26 10:32
stukk:查->schedule(TimerTask task, long delay, long period) 09/26 10:33
stukk:這樣一來就不需要使用到whileloop 09/26 10:36