import java.util.concurrent.Callable; class FindMaxCallable implements Callable { final double[] arr; int from; int to; public FindMaxCallable(double[] arr, int from, int to){ this.arr = arr; this.from = from; this.to = to; } @Override public Double call(){ double localMax = Double.MIN_VALUE; for(int i=from; i localMax){ localMax = arr[i]; } } return localMax; } }