Я реализовал следующий класс, который отслеживает время, необходимое для выполнения алгоритма
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 тестов один за другим вручную ...
Заранее спасибо