Я наткнулся на некоторый код Java, в котором есть метод, содержащий следующее:
static boolean waitForSeconds(long seconds) { try { Thread.sleep(seconds * 1000); } catch (InterruptedException ex) { return false; } return true; }
Какова может быть цель этого? Возвращаемое значение используется, чтобы определить, следует ли продолжать вычисления. Мне кажется странным пытаться заснуть на 1 секунду с единственной целью проверить, был ли поток прерван в течение этой секунды.
Пытается ли код, вызывающий этот метод, выполнить то же самое, что и thread.isInterrupted()? Что бы он ни пытался сделать, есть ли лучший способ?
Вызов waitForSeconds появляется в начале другого метода, а не внутри цикла, поэтому, если этот код действительно намерен ждать секунду для какой-либо цели в дополнение к проверке прерывания, кажется, что он будет проверять неправильный место. Не лучше ли поставить сон рядом с петлей, где понятнее, что он делает?
На последний вопрос, пожалуйста, ответьте здесь:
Чем лучше спать рядом с вызовом функции в цикле или в самом вызове функции?