Можно ли считать sleep(…) запрещенным методом?

304
10 апреля 2017, 05:05

У меня ситуация когда мне надо приостановить поток на некоторое время, но участия объекта-монитора не требуется, так как это служба которая не взаимодействует с другими потоками через lock объекты. Я хотел использовать sleep, но идея выдает worning.

try {
    Thread.currentThread().sleep(10); // Shows references to static methods and fields via class instance rather than a class itself
} catch (InterruptedException e) {
    e.printStackTrace();
}

В моем контексте вроде не критично, но я слышал что sleep, - это дурной тон и его лучше не использовать.

Есть ли необходимость специально добавлять синхронизацию для того чтобы обеспечить ожидание службы при помощи wait() или так тоже можно, и код в котором используется sleep можно считать корректным?

Answer 1

Уберите .currentThread() и IDEA перестанет ругаться. А так sleep можно использовать, главное не усыплять важные потоки, такие как The Event Dispatch Thread (swing), JavaFX Application thread (он же UI thread) и подобные.

READ ALSO
Android SimpleAdapter изменение ресурса

Android SimpleAdapter изменение ресурса

Есть ListView в котором отображается история сообщений

301
Not recognized by any processor

Not recognized by any processor

Пытаюсь я сбилдить проект, а тут такая ошибка!

472
Получение данных из Excel (Java)

Получение данных из Excel (Java)

Читал я и про Apache POI и про jexcelapi,и про jdbc способ, про всё это читал, но ни где,повторяюсь нигде, не нашел годного гайда или туториала,или примеров...

485
Как захардкодить строку в Jsoup? (проблемы с символами)

Как захардкодить строку в Jsoup? (проблемы с символами)

Проблема в том, что в строке содержится знак процента, из чего появляются лишние символы: 25Как их убрать, ума не приложу

340