Во время выполнения моей программы запускается несколько потоков. Количество потоков зависит от определенных пользователем параметров, но все они выполняют один и тот же метод с разными переменными.
В некоторых ситуациях для очистки требуется среднее выполнение, часть этого останавливает все потоки, я не хочу, чтобы они останавливались немедленно, но я просто установил переменную, которую они проверяют, для того, чтобы это их прекратило. Проблема в том, что она может занять до 1/2 секунды до остановки потока. Тем не менее, я должен быть уверен, что все потоки остановились, прежде чем очистка может продолжаться. Очистка выполняется из другого потока, так что технически мне нужен этот поток, чтобы дождаться окончания остальных потоков.
Я подумал о нескольких способах этого, но все они кажутся слишком сложными. Я надеялся, что будет какой-то метод, который может дождаться завершения группы потоков. Есть ли что-нибудь подобное?
Спасибо.