@reus

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы