Встречается на собеседованиях • сегодня
С помощью чего можно реализовать ожидание ответа
В Java можно реализовать ожидание ответа несколькими способами:
1. **Thread.sleep()** - простой, но не рекомендуется для production:
```java
Thread.sleep(1000); // ждет 1 секунду
```
2. **Ожидание с условием (wait/notify)**:
```java
synchronized(lock) {
while(!condition) {
lock.wait();
}
}
```
3. **Future и CompletableFuture** (асинхронное ожидание):
```java
CompletableFuture future = CompletableFuture.supplyAsync(() -> {
// долгая операция
return "результат";
});
String result = future.get(); // блокирует поток
```
4. **CountDownLatch** (для многопоточной синхронизации):
```java
CountDownLatch latch = new CountDownLatch(1);
// где-то в другом потоке
latch.countDown();
// ожидание
latch.await();
```
Для тестирования часто используют Awaitility:
```java
await().atMost(5, SECONDS).until(() -> result != null);
```
Выбор зависит от контекста: многопоточность, тестирование или просто пауза.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы