我已實現了以下類保持的執行算法創建一個線程用於計時,並重新啓動另一個線程
public class MyTimer extends Thread{
long timeElapsed = 0;
public MyTimer(String parameters){
//initilise staff
}
pubic void run(){
long startTime = System.currentTimeMillis();
//DO SOME THINGS THAT TAKE TIME
timeElapsed = System.currentTimeMillis() - startTime;
System.out.println("time elapsed = " + timeElapsed");
}
}
有些時候爲myTimer做所需要的時間軌跡花費還真不少時間,所以我想創建另一個類來控制它。如果MyTimer在30秒內還沒有完成,那麼我想停止線程並用新參數重新啓動它。如果它在不到30秒內完成,那麼我希望能夠存儲timeElapsed並再次重新啓動MyTimer。 雖然這將是簡單的,但我已經搞砸了線程池timeCountLathces和監控異常.....所以,有什麼辦法我可以做到這一點工作?替代解決方案是運行我的500個測試一個手動的....
預先感謝您
使用Thread.stop()被depricated但正常工作與我!代碼只是爲了節省我的時間,所以使用stop方法沒有問題。我嘗試過interupt,但它不起作用,因爲它是一個我想停止的recusive功能。我可以在循環中使用檢查,但我不想與其他程序混淆。感謝您的幫助 – Pitelk 2010-08-12 21:34:00