Встречается на собеседованиях • сегодня
Что реализует ожидание потоком завершения работы других потоков
В 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()` для каждого
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы