0
Я следующее определение методаДобавление времени ожидания для метода, выполняющего несколько путей
private void pollForStatus() throws InterruptedException {
if (state.equals("running")) {
log.debug("Task still running, Polling again ..");
TimeUnit.SECONDS.sleep(1);
pollForStatus();
}
else if (state.equals("complete")) {
return;
}
else if (state.equals("stopped")) {
{
// Report error state
}
}
Теперь для того, что это «pllForStatus» не держит выполнение в определенных ситуациях, я хочу добавить тайм-аут для рекурсии. Как это достигается в Java (7)?
Не рекурсия должна работать в случае основания? – BiGGZ
Базовый регистр, если «состояние» изменяется в вышеуказанном случае правильно? Я думал больше о том, что по какой-то причине государство застряло в состоянии «запуска», в результате чего рекурсия будет бесконечно рекурсивно –
, один из подходов будет b, чтобы записать время начала потока с использованием System.currentTimeMillis, а затем рассчитать будущее время, и в каждом цикле убедитесь, что futureTime не прошел. Что-то в этом отношении – BiGGZ