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

Зачем нужен метод join() из класса Thread

Метод join() в классе Thread используется для ожидания завершения выполнения потока, из которого он вызван. Когда поток A вызывает join() для потока B, поток A приостанавливается до тех пор, пока поток B не завершит свою работу.

Пример:

java
Thread thread = new Thread(() -> {
    System.out.println("Поток начал работу");
    try {
        Thread.sleep(2000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    System.out.println("Поток завершил работу");
});

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

text

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

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

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

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