Поскольку у вас есть List
записей, вы можете перебирать его, используя parallelStream
.
List<SomeObject> objectList = resultFromDB();
objectList.parallelStream()
.map(obj -> makeApiCallInParallel(obj))
.collect(Collectors.toList());
parallelStream
будет выполнять вызовы API параллельно. Количество параллельных вызовов ограничено количеством потоков вашего ЦП.
Вы можете увеличить его, используя свойство JVM:
-Djava.util.concurrent.ForkJoinPool.common.parallelism=20