我已实现了以下类保持的执行算法创建一个线程用于计时,并重新启动另一个线程
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