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

Что реализует ожидание потоком завершения работы других потоков

В Java для ожидания завершения работы других потоков используется метод join(). Когда поток вызывает join() для другого потока, он блокируется до тех пор, пока целевой поток не завершит выполнение.

Пример:

java
Thread thread1 = new Thread(() -> {
    System.out.println("Thread 1 started");
    try {
        Thread.sleep(2000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    System.out.println("Thread 1 finished");
});

thread1.start();
thread1.join(); // Основной поток ждёт завершения thread1
System.out.println("Main thread continues");

text

Важные нюансы:
1. `join()` может бросить `InterruptedException`
2. Можно указать таймаут: `join(long millis)`
3. Если поток уже завершён, `join()` вернётся немедленно
4. Для ожидания нескольких потоков нужно вызывать `join()` для каждого
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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