У меня есть разные модели, и я выполняю эти модели одну за другой последовательно. У меня будет около 200 моделей.
Ниже приведен мой код, в котором я выполняю эти модели одну за другой.
Map<String, List<ServerMetrics>> metricsHolder = new HashMap<String, List<ServerMetrics>>();
for (String alias : serverNames) {
List<ClientsModel> modelMetadata = getModelAttributes();
List<MachineInfo> machineInfo = getMachineInfo();
List<ServerMetrics> metricsList = new ArrayList<ServerMetrics>();
// calling model one by one sequentially
// is there any way to make this multithreaded?
// here modelMetadata size might be 100 or 200
for (ClientsModel modelList : modelMetadata) {
String modelValue = modelList.getModelValue();
String modelId = String.valueOf(modelList.getModelId());
// execute my model here and storing the metrics in the metricsList object
ServerMetrics metrics = TestUtils.executeModelMetrics(machineInfo, modelValue);
metrics.setModelId(modelId);
metricsList.add(metrics);
}
metricsHolder.put(alias, dynMetricsList);
}
Постановка проблемы:-
Есть ли способ сделать выполнение модели многопоточным, а затем сохранить результат в объект metricsList
?