la "mejor forma y mas facil" de hacerlo es con stream
este es un ejemplo de como
creo un stream de los numeros del uno al 6 (1)
luego le ordeno que los calculos sean en paralelo (2)
luego lo multiplico cada elemento por 2 (3)
luego filtro los que son mayores a 3 (4)
luego le saco el minimo de todos (5)
y en caso de que haya error muera muera tragica y pateticamente sin darle auxilio
int min = Stream.of(1, 2, 4, 5, 6). //1
parallel(). //2
mapToInt((x) -> x * 2). //3
filter((x) -> x > 3). //4
min(). //5
recuerda que lo mas probable cuando uses streams malogre el rendimiento (es solo para gente grande con pelos en el pecho y lomo plateado)
los stream mejorar el rendimiento solo cuando son calculos de muy alto costo computacional para casos chicos incluso puede empeorar la unica forma de tener un grado de seguridad es con experimentos realistas o un analisis estadisco de datos historicos de forma muy rigurosa
leea para tener fundamento teorico
1 experimentcion k a la n
2 universal escalability law
3 historgrama
4 percentiles
5 usa el "#$%$ excel