Встречается на собеседованиях • сегодня
Как реализуешь возможность одного потока дождаться завершения выполнения двух других потоков
Используй Thread.join() или CountDownLatch для синхронизации потоков.
Пример с CountDownLatch:
java
CountDownLatch latch = new CountDownLatch(2); // 2 потока должны завершиться
new Thread(() -> {
// Логика потока 1
latch.countDown();
}).start();
new Thread(() -> {
// Логика потока 2
latch.countDown();
}).start();
latch.await(); // Ожидание завершения обоих потоков
System.out.println("Оба потока завершены!");
text
**Пример с `Thread.join()`:**
```java
Thread t1 = new Thread(() -> { /* Логика потока 1 */ });
Thread t2 = new Thread(() -> { /* Логика потока 2 */ });
t1.start();
t2.start();
t1.join();
t2.join();
System.out.println("Оба потока завершены!"); CountDownLatch удобнее, если потоки запускаются динамически, а join() проще для фиксированного числа потоков.

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