Допустим, у меня есть список с именем USERS, который содержит USER1 и USER2. Максимальное количество потоков за один раз может быть размером ПОЛЬЗОВАТЕЛЕЙ. В этом случае 2. И созданные потоки будут иметь то же имя, что и пользователь
У меня есть другой список, который содержит некоторые значения. В этом случае, скажем, у нас есть
List<String> values = new ArrayList<>();
values.add("A");values.add("B");values.add("C");values.add("D");
USER1 и USER2 должны выбрать данные из «значений».
Итак, мы запускаем потоки, и максимальное количество потоков может быть размер ПОЛЬЗОВАТЕЛЕЙ, равный 2.
Мы запускаем два потока и присваиваем им первые два значения из списка «значений».
Итак, на данный момент USER1 - имеет -> A и USER2 - имеет -> B.
Теперь поток USER2 завершается, а USER1 все еще работает.
По окончании USER2. И мне снова нужно создать новый поток для обработки оставшихся данных из «значений».
Итак, как мне узнать, что поток USER2 завершен, и создать новый поток с именем USER2.