У меня есть метод, который берет строку как входную информацию и возвращает данные из БД на основе входной строки. У меня есть массив строк, и я в настоящее время проходит каждую строку в качестве входных данных и цикл по всему массивуКак читать данные одновременно с помощью java?
public DataClass getData(String input){
....logic to get the data when string=input from a third party API.
Third party API takes 'input' string and gives out data....
}
public void callerMethod() {
List<String> myStrings = new List<String>();
for(inputStr : myStrings) {
DataClass data = getData(inputStr);
}
}
Выше кода логики у меня есть на данный момент. Я хочу изменить вызовы метода getData() на одновременные вызовы, а не перебирать список один за другим, поскольку этот подход занимает время. Я не уверен, могу ли я использовать потоки здесь или если есть какой-либо более новый подход для достижения этого.
Если вы читаете из БД, я могу гарантировать, что вы привязаны к IO. Параллелизация IO по одному каналу не поможет. Вы должны переместить логику фильтрации в запрос БД. – millimoose
Хотя в текущем случае у меня есть другие области, подобные этому с DB IO, я делаю вызов API для стороннего API. Редактирование вопроса для включения этой информации – user811433
@millimoose Можете ли вы? Существует множество случаев, когда вы можете выполнять действие с привязкой к процессору на основе строки или выполнять другие связанные с IO задачи. –