Задать вопрос
@reus

Как узнать завершились ли все потоки (Thread)?

Я запускаю потоки через цикл for:
MyThrowClass throw;
for(String i: all) {
  trow = new MyThrowClass(i);
  trow.start()

Поток выполняет код и просто передает результат в статический контейнер (на основе ArrayList)
Для того чтобы проверить количество элементов контейнера у меня есть метод .getLength()
MyContainer.getLength();
Но если вызвать этот метод сразу после for, то результат будет нулевым ( "0" )так как потоки еще не завершили свою работу.
Собственно как узнать завершили ли все потоки работу, чтобы дальше передать результат их работы дальше?
  • Вопрос задан
  • 2901 просмотр
Подписаться 1 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Java-разработчик с нуля
    12 месяцев
    Далее
  • Skillfactory
    Профессия Java-разработчик
    14 месяцев
    Далее
  • Яндекс Практикум
    Java-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
@kodwi
https://moikrug.ru/kodwi
в цикле по потокам вызывай у каждого join(), после чего уже пиши код, который должен отработать только после завершения всех потоков.
Ответ написан
@kofon
Я человек
trow.isAlive();

А если надо подождать, пока поток не завершится:
trow.join();
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы