Встречается на собеседованиях • сегодня

Можешь ли подождать

В Java есть несколько способов реализовать ожидание:

  1. Thread.sleep() - приостанавливает текущий поток на указанное время:
java
try {
    Thread.sleep(1000); // ждем 1 секунду
} catch (InterruptedException e) {
    Thread.currentThread().interrupt();
}
  1. Ожидание с таймаутом через Object.wait():
java
synchronized (lock) {
    lock.wait(5000); // ждем 5 секунд или нотификацию
}
  1. Использование ScheduledExecutorService для отложенного выполнения:
java
ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
executor.schedule(() -> {
    // код выполнится через 3 секунды
}, 3, TimeUnit.SECONDS);

Важно: Thread.sleep() не освобождает мониторы, в отличие от wait(). Для IO-операций лучше использовать асинхронные подходы (NIO, CompletableFuture).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы